如果我们有以下数组:
["it", "wkppv", "ixoyx", "3452", "zzzzzzzzzzzz"]
如果我们试图获得k的所有可能的字符串组合 (在本例中为3),没有随机化,我们应该得到以下字符串:
'itwkppvixoyx'
'wkppvixoyx3452
'ixoyx3452zzzzzzzzzzzz'
因为当然,
"it" + "wkppv" + "ixoyx" = "itwkppvixoyx",
"wkppv" + "ixoyx" + "3452" = "wkppvixoyx3452",
"ixoyx" + "3452" + "zzzzzzzzzzzz" = "ixoyx3452zzzzzzzzzzzz"
但是我还没有找到创建这些字符串的方法。
我了解如何基于k创建包含第一个字符串和最后一个字符串的字符串,例如:
function createStrings (array, k) {
let strings = [];
for (let i = 0; i < array.length - (k - 1); i++) {
strings.push(`${array[i]}${(array[i + (k-1)])}`);
}
return strings;
}
console.log(createStrings(["it", "wkppv", "ixoyx", "3452", "zzzzzzzzzzzz"], 3));
但当然,这些都缺少“中间”元素。
如果k是 2 或 4 怎么办?我需要找到一种方法来创建包含数组中k个连续字符串的字符串组合。关于如何做到这一点的任何想法?