获取JavaScript中字符串的所有子字符串

use*_*143 5 javascript

我有以下函数来从JavaScript中的字符串中获取所有子字符串.我知道这不正确,但我觉得我正是以正确的方式去做.任何建议都会很棒.

 var theString     = 'somerandomword',
     allSubstrings = []; 

getAllSubstrings(theString);

function getAllSubstrings(str) {

  var start = 1;

  for ( var i = 0; i < str.length; i++  ) {

     allSubstrings.push( str.substring(start,i) ); 

  }

} 

console.log(allSubstrings)
Run Code Online (Sandbox Code Playgroud)

编辑:如果我的问题不清楚,请道歉.通过子串我的意思是字符串中所有字母的组合(不必是实际的单词)所以如果字符串是'abc'你可以有[a,ab,abc,b,ba,bac等...]谢谢对于所有的回应.

Nin*_*olz 13

子字符串需要两个嵌套循环.

function getAllSubstrings(str) {
  var i, j, result = [];

  for (i = 0; i < str.length; i++) {
      for (j = i + 1; j < str.length + 1; j++) {
          result.push(str.slice(i, j));
      }
  }
  return result;
}

var theString = 'somerandomword';
console.log(getAllSubstrings(theString));
Run Code Online (Sandbox Code Playgroud)
.as-console-wrapper { max-height: 100% !important; top: 0; }
Run Code Online (Sandbox Code Playgroud)

  • 此解决方案仅给出字符串的一部分,但不会对其进行排列。 (4认同)