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);

 

數組嵌套處理

var array = [1,2,3,[4,5,[6,7,[9]]]];  
將上述轉換成下面的形式
array = [1,2,3,4,5,6,7,9]
array = array.join(",").split(",")

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM