萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> Javascript連接多個數組不用concat來解決

Javascript連接多個數組不用concat來解決

 這篇文章主要介紹了不用concat解決Javascript連接多個數組,需要的朋友可以參考下

第一種方法就是大家熟知的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]);    這樣就搞定了,此方法巧妙的運用了apply方法的特性(第二個參數是數組類型的多個)解放了push方法, push方法從本身只能傳遞多個值變成了可以傳遞數組, 上述代碼其實就等價於  代碼如下: arr1.push(4,5);    這樣arr1還是那個arr1,只是內存進行了重寫而已,沒有重定向和不必要的內存溢出。   
copyright © 萬盛學電腦網 all rights reserved