大家好,欢迎来到IT知识分享网。
前言
项目过程中,经常会遇到 JS 数组合并的情况,时常为这个纠结。这里整理一下。
简单而实用的for
最容易想到的莫过于 for 了。
会变更原数组,当然也可以写成生成新数组的形式。
经读者提点,数组不建议使用for…in,具体可参考MDN for…in
let arr = [1, 2] let arr2 = [3, 4] for (let i = 0; i < len(arr2); i++) {
arr.push(arr2[i]) } console.log(arr) // [1, 2, 3, 4]
arr.concat(arr2)
会生成新的数组。
let arr = [1, 2] let arr2 = [3, 4] arr = arr.concat(arr2) console.log(arr) // [1, 2, 3, 4]
arr.push.apply(arr, arr2)
第一种 for 循环就是使用的 push 来实现的。
因为 push 是可以接收多个参数的,所以我们可以使用 apply 来实现。
会变更原数组。
let arr = [1, 2] let arr2 = [3, 4] arr.push.apply(arr, arr2) console.log(arr) // [1, 2, 3, 4]
[…arr, …arr2]
ES6 的语法,简单而实用。
会生成新的数组。
let arr = [1, 2] let arr2 = [3, 4] arr = [...arr, ...arr2] console.log(arr) // [1, 2, 3, 4]
push(…arr)
push 结合 ...[] 来实现。
会变更原数组。
let arr = [1, 2] let arr2 = [3, 4] arr.push(...arr2) console.log(arr) // [1, 2, 3, 4]
最后
实现方式大同小异,可以理解那最容易理解的一部分。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/114749.html