跳转至

数组合并

在JavaScript中,合并数组可以通过多种方法实现,这里列举了一些常见的方法:

Concat 方法:

concat() 方法用于合并两个或多个数组。这个方法不会改变现有的数组,而是返回一个新数组。

const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const combined = array1.concat(array2);
// combined 现在是 ['a', 'b', 'c', 'd', 'e', 'f']

Spread 操作符 (...):

ES6 引入了扩展操作符,可以用来展开数组,并且可以简洁地实现数组的合并。

const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const combined = [...array1, ...array2];
// combined 现在是 ['a', 'b', 'c', 'd', 'e', 'f']

Push 方法结合 Spread 操作符:

如果你想在现有数组上添加新数组的元素,可以使用push()方法结合扩展操作符。

const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
array1.push(...array2);
// array1 现在是 ['a', 'b', 'c', 'd', 'e', 'f']

Array.prototype.forEach() 方法:

你可以使用forEach()遍历数组,并将每个元素添加到另一个数组中。

const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
array2.forEach(item => array1.push(item));
// array1 现在是 ['a', 'b', 'c', 'd', 'e', 'f']

Array.prototype.flat() 方法:

如果你有一个包含数组的数组(即数组的数组),你可以使用flat()方法将它们展平到一个单一数组。

const array1 = [['a', 'b', 'c'], ['d', 'e', 'f']];
const combined = array1.flat();
// combined 现在是 ['a', 'b', 'c', 'd', 'e', 'f']

Array.prototype.reduce() 方法:

reduce()方法也可以用来合并数组,尤其是当你需要对元素进行一些额外操作时。

const array1 = [['a', 'b'], ['c', 'd']];
const combined = array1.reduce((acc, val) => acc.concat(val), []);
// combined 现在是 ['a', 'b', 'c', 'd']

选择哪种方法取决于你的具体需求和你偏好的编程风格。在处理大型数据集时,一些方法(如concat)可能比其他方法(如push结合扩展操作符)更快,因为它们对内存的使用更有效。