一、合并数组
使用 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
函数,包括合并数组、合并数组和值、合并多维数组、可变参数函数等方面的用法。