【发布时间】:2019-08-18 16:44:44
【问题描述】:
如果我们有以下数组:
["it", "wkppv", "ixoyx", "3452", "zzzzzzzzzzzz"]
如果我们尝试获取所有可能的 k 字符串组合(在本例中为 3),而不进行随机化,我们应该得到以下字符串:
'itwkppvixoyx'
'wkppvixoyx3452
'ixoyx3452zzzzzzzzzzzz'
因为当然,
"it" + "wkppv" + "ixoyx" = "itwkppvixoyx",
"wkppv" + "ixoyx" + "3452" = "wkppvixoyx3452",
"ixoyx" + "3452" + "zzzzzzzzzzzz" = "ixoyx3452zzzzzzzzzzzz"
但我还没有找到创建这些字符串的方法。
我了解如何根据k创建包含first字符串和last字符串的字符串,例如:
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 个数组中的 连续 个字符串。关于如何做到这一点的任何想法?
【问题讨论】:
-
可以使用滑动窗口之类的东西。
标签: javascript arrays string