タイトルって難しいな...
やりたいこと
abcabc
の中から
abcabc, abcab, bcabc, abca, bcab, cabc,...
といった感じにパターンを作りたい。
結論
var str = "abc".repeat(2);
var arr = []
for (var i = 0; i < str.length; i++) {
for (var c = 0; c <= str.length - (str.length - i); c++) {
if (str.length - i <= 1) {
continue;
}
arr.push(str.substr(c, str.length - i));
}
}
3行目の
for (var i = 0; i < str.length; i++) {
のiの初期値を1にすると最初のabcabc
というただの元の文字列が除外できる。