我不确定“组合”是否是正确的词,但我想扫描一个字符串以获得所有可能的子字符串,例如 ex。
var str = "abcd";
// do something here, a for loop i guess...
WANTED OUTPUT:
a
ab
abc
abcd
b
bc
bcd
c
cd
d
我对像 dcba 这样的结果不感兴趣,因此我不是在寻找排列......这样做的功能是什么?
谢谢!!
我不确定“组合”是否是正确的词,但我想扫描一个字符串以获得所有可能的子字符串,例如 ex。
var str = "abcd";
// do something here, a for loop i guess...
WANTED OUTPUT:
a
ab
abc
abcd
b
bc
bcd
c
cd
d
我对像 dcba 这样的结果不感兴趣,因此我不是在寻找排列......这样做的功能是什么?
谢谢!!
它很容易你也可以自己做:
var str = "abcd";
var substrings = [];
for (var i = 0; i < str.length; i++){
for (var j = i + 1; j <= str.length; j++)
substrings.push(str.substring(i, j));
}
要获取所有可能的子字符串(你是对的,它不是“排列”),你可以只使用两个嵌套循环作为开始和结束索引:
var str = "abcd";
var substrings = [],
len = str.length;
for (var i=0; i<len; i++)
for (var j=i+1; j<=len; j++)
substrings.push(str.slice(i, j));
substrings;
// ["a", "ab", "abc", "abcd", "b", "bc", "bcd", "c", "cd", "d"]
如果要获取空子字符串,只需将其添加到substrings
.