js中拼接多个数组的几种方法
需求:将多个数组进行拼接
const arr = [1, 2, 3, 4, ];
let arr1 = [5, 6];
let arr2 = [7, 8];
// 最终的结果是:
[1, 2, 3, 4, 5, 6, 7, 8]
方法1:concat
const newArr = arr.concat(arr1).concat(arr2)
console.log(newArr)// [1, 2, 3, 4, 5, 6, 7, 8]
newArr 是新数组,此时内存中存在arr,arr1,arr2,newArr 3个数组。
后面三个方法都不会创建新的数组
方法2:不创建新数组
arr1.forEach(i => {
arr.push(i)
})
arr2.forEach(i => {
arr.push(i)
})
arr1 = null;
arr2 = null;
console.log(arr) //[1, 2, 3, 4, 5, 6, 7, 8]
没有新的数组创建,对于内存来说更优。注意到结尾的arr1=null;arr2=null;拼接完成后将数组都清空。
方法3:apply(推荐)
arr.push.apply(arr, arr1);
arr.push.apply(arr, arr2);
console.log(arr) //[1, 2, 3, 4, 5, 6, 7, 8]
拼接两个数组的时候推荐用这种方法
方法4:es6的写法(推荐)
arr.push(...arr1, ...arr2)
console.log(arr) //[1, 2, 3, 4, 5, 6, 7, 8]
拼接两个及以上数组的时候推荐用这种方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器