最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript合并兩個數(shù)組最簡單的實現(xiàn)方法

 更新時間:2019年09月14日 10:29:15   作者:彩虹の你  
這篇文章主要介紹了javascript合并兩個數(shù)組最簡單的實現(xiàn)方法,方法很簡單,有需要的朋友們可以學(xué)習(xí)下。

在開發(fā)的過程中,我們很多時候會遇到需要將兩個數(shù)組合并成一個數(shù)組的情況出現(xiàn)。

var arr1 = [1, 2, 3];
var arr2 = [4, 5, 6];

// 將arr1和arr2合并成為[1, 2, 3, 4, 5, 6]

這里總結(jié)一下在JavaScript中合并兩個數(shù)組的方法。

for循環(huán)數(shù)組

這個方式是最簡單的,也是最容易實現(xiàn)的。

var arr3 = [];

// 遍歷arr1
for (var i = 0; i < arr1.length; i++) {
  arr3.push(arr1[i]);
}

// 遍歷arr2
for (var j = 0; j < arr2.length; j++) {
  arr3.push(arr2[j]);
}

console.log(arr3); // [1,2,3,4,5,6]

另外也可以用增強型for循環(huán)或forEach()方法去實現(xiàn)。

for循環(huán)這種方式幾乎沒有任何問題,只是很多追求精簡編程的人會鄙視這種方式(攤手)。

concat()方法

JavaScript的Array對象中提供了一個concat()方法,作用是連接兩個或更多的數(shù)組,并返回一個新的數(shù)組。

var arr3 = arr1.concat(arr2);

console.log(arr3); // [1,2,3,4,5,6]

要注意的是,concat()方法不會改變原數(shù)組,而是返回一個新的數(shù)組。這樣,當我們需要進行多次數(shù)組合并的時候,就會造成內(nèi)存浪費。

apply()方法

函數(shù)的apply方法有一個特性,那就是func.apply(obj,argv),argv是一個數(shù)組。所以我們可以利用這點。

arr1.push.apply(arr1, arr2);

調(diào)用arr1.push這個函數(shù)實例的apply()方法,同時把arr1、arr2當作參數(shù)傳入,這樣arr1.push這個方法就會遍歷arr1和arr2數(shù)組的所有元素,達到合并的效果。

簡單理解就是,上面這段代碼可以看做是:

arr1.push(4, 5, 6);

這種方式只用一行代碼就解決了問題,可以說非常6了。

總結(jié)

上面三種方法在常規(guī)使用上其實并沒有區(qū)別,只是要另外注意兩個小問題:

1.以上3種合并方法在舉例的時候并沒有考慮過兩個原數(shù)組誰的長度更小,好的做法是預(yù)先判斷兩個原數(shù)組哪個更大,然后使用大數(shù)組合并小數(shù)組,這樣就能減少了數(shù)組元素操作的次數(shù),提高了代碼的執(zhí)行效率。

2.有時候我們既不希望原數(shù)組(arr1、arr2)改變,又不想手動新增一個變量,這時就只能使用concat()方法了。

以上方法很簡單,感謝大家的學(xué)習(xí)和對腳本之家的支持。

相關(guān)文章

最新評論

泉州市| 和平区| 平乡县| 黎平县| 绥化市| 肇东市| 朝阳县| 高尔夫| 志丹县| 德钦县| 巴塘县| 徐闻县| 安远县| 宁化县| 偏关县| 安庆市| 和林格尔县| 扎鲁特旗| 新乐市| 会宁县| 堆龙德庆县| 都兰县| 鄄城县| 徐水县| 辰溪县| 南开区| 太湖县| 东方市| 英吉沙县| 颍上县| 罗平县| 榆社县| 仙居县| 麻城市| 富源县| 秦安县| 大港区| 霍州市| 三河市| 游戏| 洪洞县|