我有两个大小相同的javascript数组:

let a = [1,2,3,4,5]
let b = [6,7,8,9,10]


我想以这种方式合并:

let out = [1,6,2,7,3,8,4,9,5,10] //no adjecent elements from same array


目前,我通过循环对其进行迭代:



let a = [1,2,3,4,5]
let b = [6,7,8,9,10]
let out = []
for(let i =0;i<a.length;i++){
    out.push(a[i])
    out.push(b[i])
}
console.log(out)





有没有其他/更好的方法来进行合并?

最佳答案

这里可以使用相对较新的数组方法.flatMap()。它允许您将值映射到数组,然后将其展平为更大的结果数组。在这里,您可以使用索引将a中的每个值映射到包含自身的数组,并在b中包含其对应的值。然后,此数组将成为更大的结果数组的一部分:



let a = [1,2,3,4,5]
let b = [6,7,8,9,10]
let out = a.flatMap((v, i) => [v, b[i]]);
console.log(out)

10-05 20:58
查看更多