我有以下函数来从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)