一、合併數組
使用array.concat()函數可以將兩個數組合併成一個數組。這個函數不會改變原數組,而是返回一個新的數組。
const arr1 = [1, 2, 3]; const arr2 = [4, 5, 6]; const arr3 = arr1.concat(arr2); console.log(arr3); // [1, 2, 3, 4, 5, 6] console.log(arr1); // [1, 2, 3] console.log(arr2); // [4, 5, 6]
當需要將多個數組合併時,可以連續使用多個concat函數進行合併。
const arr1 = [1, 2]; const arr2 = [3, 4]; const arr3 = [5, 6]; const arr4 = arr1.concat(arr2, arr3); console.log(arr4); // [1, 2, 3, 4, 5, 6]
除了使用concat函數進行合併外,也可以使用擴展運算符(…)進行合併。
const arr1 = [1, 2]; const arr2 = [3, 4]; const arr3 = [5, 6]; const arr4 = [...arr1, ...arr2, ...arr3]; console.log(arr4); // [1, 2, 3, 4, 5, 6]
二、合併數組和值
除了可以將兩個數組合併成一個數組外,還可以將一個數組和若干個值合併成一個新的數組。
const arr1 = [1, 2, 3]; const arr2 = arr1.concat(4, 5); console.log(arr2); // [1, 2, 3, 4, 5]
在使用concat函數進行合併時,可以將數組和值混合使用。
const arr1 = [1, 2, 3]; const arr2 = arr1.concat(4, [5, 6]); console.log(arr2); // [1, 2, 3, 4, 5, 6]
三、合併多維數組
當數組中的元素也是數組時,可以使用concat多維數組。
const arr1 = [[1], [2]]; const arr2 = [[3], [4]]; const arr3 = arr1.concat(arr2); console.log(arr3); // [[1], [2], [3], [4]]
注意,concat函數不會遞歸合併多維數組,只會將第一層數組合併。如果需要遞歸合併多維數組,可以使用lodash等庫進行操作。
四、可變參數函數
由於concat函數支持可變參數函數調用方式,因此可以使用apply或者擴展運算符對一個數組進行動態添加。
const arr1 = [1, 2, 3]; const arr2 = [4, 5]; arr1.push.apply(arr1, arr2); // 等價於 arr1.push(4, 5); console.log(arr1); // [1, 2, 3, 4, 5]
可以看到,concat函數在可變參數函數中的應用非常廣泛。
總結
本文詳細介紹了array.concat函數,包括合併數組、合併數組和值、合併多維數組、可變參數函數等方面的用法。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/199144.html