美文网首页
JavaScript - 合并两个数组

JavaScript - 合并两个数组

作者: ElricTang | 来源:发表于2019-10-29 10:04 被阅读0次

合并数组a、b

let a = [1,2,3];
let b = [4,5,6];

一. concat(),返回新数组,不改变原数组。

let c = a.concat(b);
console.log(c);// [ 1, 2, 3, 4, 5, 6 ]
console.log(a);// [ 1, 2, 3 ]
console.log(b);// [ 4, 5, 6 ]

二. 循环添加,改变原数组。

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

三. 高阶函数map()、reduce()

  • map(),循环的美化版,同样改变原数组
b.map((i)=>{
    a.push(i);
})
console.log(a);
  • reduce(),感觉复杂化了,同样改变原数组
let c = b.reduce((pre,cur)=>{
    pre.push(cur);
    return pre;
},a)
console.log(c);// [ 1, 2, 3, 4, 5, 6 ]
console.log(a);// [ 1, 2, 3, 4, 5, 6 ]
console.log(b);// [ 4, 5, 6 ]

四. apply(),改变原数组

  • 利用apply(args1,arr)的特点
a.push.apply(a,b);
console.log(a);// [ 1, 2, 3, 4, 5, 6 ]
  • 或者这样
Array.prototype.push.apply(a,b);

五. ES6扩展运算符,返回新数组,不改变原数组

console.log([...a,...b]);// [ 1, 2, 3, 4, 5, 6 ]

相关文章

网友评论

      本文标题:JavaScript - 合并两个数组

      本文链接:https://www.haomeiwen.com/subject/ykbivctx.html