首頁  >  文章  >  web前端  >  Javascript連接多個陣列不用concat來解決_javascript技巧

Javascript連接多個陣列不用concat來解決_javascript技巧

WBOY
WBOY原創
2016-05-16 16:54:291059瀏覽

第一種方法就是大家熟知的concat,但這個方法有一個確定就是該方法不會改變現有的數組,而只會傳回被連接數組的一個副本。

如果只是想把一個新數組的元素加到現有數組中,我們還要為其重新賦值,其實存在有一點點資源的浪費。簡單的說,我們要為新創建的數組分配新的內存空間,並且把arr1重新指向這個新內存地址,那麼原來那個內存中的數組呢,嘿嘿 那就要看瀏覽器能不能正確回收嘍。

如下例:

複製程式碼 程式碼如下:


程式碼如下:

var arr1 [1,2,3];
var arr1 = arr1.concat([4,5]);

那麼我們有沒有什麼好辦法來避免這個資源消耗呢? 這裡可以使用Javascript原生的apply方法來實現,首先看如下程式碼:
複製程式碼


程式碼如下:

var arr1= [1,2,3];
arr1.push.apply(arr1,[4,5]); 複製程式碼


程式碼如下:

arr1.push(4,5) ; 這樣arr1還是那個arr1,只是內存進行了重寫而已,沒有重定向和不必要的內存溢出。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn