js 数组的拼接
数组的拼接
var a = [1,2,3,4,5,6];
var b=["foo","bar", "fun"];
最终的结果是:
[
1,2,3,4,5,6,"foo","bar","fun"
]
一般情况下,我们最先想到的是concat
c=a.concat(b);
c是新数组,此时内存使用有,c,a,b三个数组。
对于大数组呢
第二种写法:
//b "onto" a
for(var i=0;i<b.length;i++){
a.push(b.[i]);
}
b=null;
很显然没有新的数组创建,对于内存来说 更优。
注意到结尾的b=null;拼接完成后将数组b清空
不喜欢for循环可以使用第三种:
//b "onto" a
a = b.reduce(function(coll,item){
coll.push(item);
},a);
更一步优化
a.push.apply(a,b);
es6的写法
a.push(...b);
数组嵌套处理
1 | var array = [1,2,3,[4,5,[6,7,[9]]]]; |
1 | 将上述转换成下面的形式 |
1 | array = [1,2,3,4,5,6,7,9] |
1 | array = array.join( "," ).split( "," ) |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步