【发布时间】:2020-06-27 03:02:57
【问题描述】:
如何在函数式编程方法中合并两个数组?
当前
const result = [];
for (let i = 0; i < arr1.length; ++i) {
result.push(arr1[i]);
if (i < arr1.length - 1) {
result.push(arr2[i]);
}
}
这适用于我需要这样做,但我想看看对我的问题的想法。我尝试了几种不同的方法,但这是我认为最干净的方法。
【问题讨论】:
-
应该
if (i < arr1.length - 1) {是if (i < arr2.length - 1) {吗? -
交替值的技术也称为“交错”(如“交错数组”)或“法鲁洗牌”。后者是扑克牌技术(洗牌以便您准确地获得交替牌)以及数学之间的共享术语,它描述了相同的事物,但带有集合/集合。您可以使用这些术语找到更多匹配项,包括 this Code Golf question。
-
你可以使用模运算来交替
push(),即if (i % 2 === 0) result.push(arr2[i])
标签: javascript for-loop functional-programming array-merge