一、使用concat()方法进行数组合并
数组合并是编程中经常用到的操作,es6的数组合并提供了多种选择。最简单的方式是使用concat()方法。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]
拆分上述代码,可以看出:
第1行和第2行是定义了两个数组;
第3行是将两个数组合并成一个新数组,并将其赋值给arr3;
第4行是输出合并后的数组。
除了能够合并两个数组,我们还可以用concat()一次合并多个数组:
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = [7, 8, 9];
const arr4 = arr1.concat(arr2, arr3);
console.log(arr4); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
在上述代码中,arr1、arr2、arr3是待合并数组,arr4是合并后的结果。
二、使用…运算符进行数组合并
除了使用concat()方法,我们还可以使用…运算符进行数组合并,这种方式相对来说更为简洁。
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = [...arr1, ...arr2];
console.log(arr3); // [1, 2, 3, 4, 5, 6]
上述代码很简单,arr3中通过解构的方式将arr1和arr2两个数组合并成了一个新数组。
除了能够合并两个数组,…运算符还可以用来合并多个数组:
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = [7, 8, 9];
const arr4 = [...arr1, ...arr2, ...arr3];
console.log(arr4); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
这段代码和上一个示例代码是相似的,只是将arr1、arr2、arr3都解构到一个新数组中。
三、使用Array.from()方法进行数组合并
除了concat()和…运算符,使用Array.from()方法也可以合并数组。Array.from()方法可以将类似数组或可遍历对象转换成数组,所以我们可以先将两个数组转为类似数组,再使用concat()方法合并它们。
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = Array.from(arr1).concat(Array.from(arr2));
console.log(arr3); // [1, 2, 3, 4, 5, 6]
在上述代码中,先使用Array.from()将arr1和arr2转为类似数组,然后将它们合并为arr3。
四、使用.push()方法进行数组合并
我们还可以使用Array.prototype.push()方法合并数组,但是这种方法需要先定义一个数组,然后再push。这种方法对于需要临时合并数组的情况比较适用。
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr1Length = arr1.length;
for (let i = 0; i < arr2.length; i++) {
arr1[arr1Length + i] = arr2[i];
}
console.log(arr1); // [1, 2, 3, 4, 5, 6]
在上述代码中,arr1Length获取了arr1数组的长度,然后动态往arr1数组中添加arr2中的元素,最后得到了合并后的数组。
五、使用.reduce()方法进行数组合并
最后一个方法是使用reduce()方法。reduce()方法是数组中最常用的方法之一,它可以累加数组中的元素,并输出总值。
const arr = [[1, 2], [3, 4], [5, 6]];
const flattenArr = arr.reduce((acc, val) => acc.concat(val), []);
console.log(flattenArr); // [1, 2, 3, 4, 5, 6]
在上述代码中,reduce()方法接收两个参数。第一个参数是一个函数,第二个参数是acc.reduce(累加器)。这个例子中我们让数组中的每个子数组concat到一个 acc 变量中去,并赋初始值为 []。
以上就是es6的数组合并方法,它们可以互相转换使用或者根据具体场景自由选择。无论哪种方法,都能够轻松地将多个数组合并成一个新数组,让我们更加方便地操作数据。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/219659.html