Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

文字列のすべての可能な組み合わせを生成する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'
]

  1. JavaScriptの文字列内のすべての可能なパリンドロームサブシーケンスをカウントする

    パリンドロームシーケンス: 文字列シーケンスは、前面と背面から同じものを読み取る場合、パリンドロームシーケンスと呼ばれます。たとえば、「aba」、「madam」、「did」はすべて有効な回文配列です。 最初で唯一の引数として文字列を受け取るJavaScript関数を作成する必要があります。入力として使用される文字列は、「a」、「b」、「c」、および「d」のみで構成されることが保証されています。この関数は、文字列に表示されるすべての連続または非連続の回文サブシーケンスの数をカウントして返す必要があります。 例- 入力文字列が-の場合 const str = 'bccb';

  2. JavaScriptで文字列の可能なすべての一意の順列を作成する

    問題 文字列strを受け取るJavaScript関数を作成する必要があります。この関数は、入力文字列のすべての順列を作成し、重複がある場合はそれを削除する必要があります。つまり、入力からのすべての文字をすべての可能な順序でシャッフルする必要があります。 例 以下はコードです- const str = 'aabb'; const permute = (str = '') => {    if (!!str.length && str.length < 2 ){       retur