国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Javascript連接多個(gè)數(shù)組不用concat來解決

2024-05-06 16:03:11
字體:
供稿:網(wǎng)友
這篇文章主要介紹了不用concat解決Javascript連接多個(gè)數(shù)組,需要的朋友可以參考下

第一種方法就是大家熟知的concat,但是這個(gè)方法有一個(gè)確定就是該方法不會(huì)改變現(xiàn)有的數(shù)組,而僅僅會(huì)返回被連接數(shù)組的一個(gè)副本。

如果只是想把一個(gè)新數(shù)組的元素加到現(xiàn)有數(shù)組中,我們還要為其重新賦值,其實(shí)存在有一點(diǎn)點(diǎn)資源的浪費(fèi)。簡(jiǎn)單的說,我們要為新創(chuàng)建的數(shù)組分配新的內(nèi)存空間,并且把a(bǔ)rr1重新指向這個(gè)新內(nèi)存地址,那么原來那個(gè)內(nèi)存中的數(shù)組呢,嘿嘿 那就要看瀏覽器能不能正確回收嘍。

如下例:

復(fù)制代碼 代碼如下:


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


那么我們有沒有什么好辦法來避免這個(gè)資源消耗呢?

這里可以使用Javascript原生的apply方法來實(shí)現(xiàn),首先看如下代碼:

復(fù)制代碼 代碼如下:


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


這樣就搞定了,此方法巧妙的運(yùn)用了apply方法的特性(第二個(gè)參數(shù)是數(shù)組類型的多個(gè))解放了push方法, push方法從本身只能傳遞多個(gè)值變成了可以傳遞數(shù)組, 上述代碼其實(shí)就等價(jià)于

復(fù)制代碼 代碼如下:


arr1.push(4,5);


這樣arr1還是那個(gè)arr1,只是內(nèi)存進(jìn)行了重寫而已,沒有重定向和不必要的內(nèi)存溢出。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 集贤县| 林西县| 克什克腾旗| 府谷县| 合肥市| 都安| 南华县| 南投市| 深水埗区| 湘乡市| 长春市| 浦东新区| 五莲县| 抚松县| 沁源县| 德安县| 分宜县| 新巴尔虎右旗| 太白县| 琼结县| 黎川县| 昭平县| 鄂托克旗| 土默特右旗| 北宁市| 邳州市| 绥宁县| 化隆| 汤阴县| 大同县| 泾阳县| 铜山县| 连城县| 光山县| 且末县| 金乡县| 宁南县| 尼玛县| 诏安县| 乌恰县| 惠安县|