生成字符串所有可能组合的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'

]

以上是 生成字符串所有可能组合的JavaScript函数 的全部内容, 来源链接: utcz.com/z/330763.html

回到顶部