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'
]