一、合并数组
使用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/n/199144.html