生成字符串所有可能组合的 JavaScript 函数
我们需要编写一个 JavaScript 函数,该函数接收一个字符串作为唯一参数。该函数应生成一个字符串数组,其中包含数组中存在的所有可能的连续子字符串。
示例
以下为代码 −
const str = 'Delhi'; const allCombinations = (str1 = '') => { const arr = []; for (let x = 0, y=1; x < str1.length; x++,y++) { arr[x]=str1.substring(x, y); }; const combination = []; let temp= ""; let len = Math.pow(2, arr.length); for (let i = 0; i < len ; i++){ temp= ""; for (let j=0;j<arr.length;j++) { if ((i & Math.pow(2,j))){ temp += arr[j]; } }; if (temp !== ""){ combination.push(temp); } } return combination; }; console.log(allCombinations(str));
输出
以下为控制台输出 −
[ 'D', 'e', 'De', 'l', 'Dl', 'el', 'Del', 'h', 'Dh', 'eh', 'Deh', 'lh', 'Dlh', 'elh', 'Delh', 'i', 'Di', 'ei', 'Dei', 'li', 'Dli', 'eli', 'Deli', 'hi', 'Dhi', 'ehi', 'Dehi', 'lhi', 'Dlhi', 'elhi', 'Delhi' ]
广告