0

「組み合わせ」が正しい言葉かどうかはわかりませんが、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 のような結果には興味がないので、順列を探しているわけではありません...それを行う関数は何ですか?

ありがとう!!

4

2 に答える 2

1

あなたも自分でそれを行うことができるのは非常に簡単です:

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));
}
于 2013-04-08T20:17:19.543 に答える
0

可能なすべての部分文字列を取得するには (そうです、「順列」ではありません)、開始インデックスと終了インデックスに 2 つのネストされたループを使用するだけです。

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

于 2013-04-08T20:06:34.553 に答える