【发布时间】:2020-09-07 03:25:05
【问题描述】:
假设我有一个数组 [["a", "b"], ["c", "d"]] 我如何迭代或减少或映射或加入这个数组并获得 ["ac", "ad", "bc", "bd"] 如果数组像 [["a", "b"], ["c", "d"], ["e", "f"]] 我应该像 ["ace", "acf", "ade", "adf", "bce", "bcf", "bde", "bdf"]
我们如何使用数组迭代或方法来实现这一点?
我尝试使用reduce:
const output = [];
const sol = array.reduce((cum, ind) => {
for (let i = 0; i <= cum.length; i++ ) {
for (let j = 0; j <= ind.length; j++) {
output.push(`${cum[i]} + ${ind[j]}`);
}
}
});
console.log(output);
但我没有得到确切的输出。
【问题讨论】:
-
不使用for循环能不能实现
-
如果你有
ziplike this,那将是微不足道的:zip(...inputArray).map(x => x.join())。 -
@9000
zip逻辑在这里不适合,因为它会从每个数组中压缩一次对,它不会生成所有组合,这就是问题所在。
标签: javascript arrays typescript