查找字符串的所有各种组合,而无需在Javascript中重复

时间:2019-06-12 04:05:02

标签: javascript arrays

我有一个函数,该函数应不重复地返回字符串的所有各种组合。 到目前为止,我尝试过的是:

function combinator (s) {
   var reverseStr = s.split('').reverse().join('')
   list_of_strings = new Array();
   for(i=0;i<s.length;i++) {
       for(j=i+1;j<s.length+1;j++) {
         if(!list_of_strings.includes(reverseStr.slice(i, j))){
           list_of_strings.push(reverseStr.slice(i, j));
         }
         if(!list_of_strings.includes(s.slice(i, j))){
           list_of_strings.push(s.slice(i, j));
         }
        }
   }
   return list_of_strings;
}
console.log(combinator("dog"));

该程序的输出为

[ 'g', 'd', 'go', 'do', 'god', 'dog', 'o', 'od', 'og' ]

缺少一些['dg','gdo','odg','ogd']

之类的组合

0 个答案:

没有答案