国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表

圖片精選

主站蜘蛛池模板: 吴忠市| 陆良县| 西华县| 冕宁县| 衡阳县| 南投市| 独山县| 遵义市| 东兰县| 敦煌市| 克山县| 安国市| 五家渠市| 托克逊县| 兴山县| 南京市| 陆良县| 葫芦岛市| 综艺| 望奎县| 尼木县| 芦溪县| 西畴县| 宣城市| 平舆县| 萍乡市| 光泽县| 广饶县| 德州市| 邹城市| 万载县| 哈巴河县| 凤庆县| 武城县| 洛浦县| 德兴市| 桐柏县| 胶南市| 秦安县| 乌拉特后旗| 郸城县|