1. 使用 concat 方法 ==》不改变原数组
concat 方法可以将多个数组或值合并成一个新数组。
const arr1 = [1, 2, 3] const arr2 = [4, 5, 6] const mergedArr = arr1.concat(arr2) // [1, 2, 3, 4, 5, 6]
2. 使用展开运算符 (...) ==》不改变原数组
展开运算符 ... 可以用于展开数组,将其元素插入到另一个数组中。
const arr1 = [1, 2, 3] const arr2 = [4, 5, 6] const mergedArr = [...arr1, ...arr2] // [1, 2, 3, 4, 5, 6]
3. 使用 Array.from 方法 ==》不改变原数组
Array.from 方法可以从类数组对象或可迭代对象创建一个新的数组实例。
const arr1 = [1, 2, 3] const arr2 = [4, 5, 6] const mergedArr = Array.from(arr1).concat(arr2) // [1, 2, 3, 4, 5, 6]
4. 使用 Array.prototype.reduce 方法 ==》不改变原数组
reduce 方法可以将数组中的所有元素汇总成一个值,也可以用于合并数组。
const arr1 = [1, 2, 3]
const arr2 = [4, 5, 6]
const mergedArr = arr2.reduce((result, current) => {result.push(current)return result
}, [...arr1]) // [1, 2, 3, 4, 5, 6]
5.使用 push 方法 =》修改原数组
push 方法可以将一个数组的元素追加到另一个数组末尾,修改原数组。
const arr1 = [1, 2, 3]
const arr2 = [4, 5, 6]
arr1.push(...arr2) // arr1 变为 [1, 2, 3, 4, 5, 6]
6. 使用 Array.prototype.splice 方法==》修改原数组
splice 方法可以修改原数组,用于在指定位置插入新元素。
const arr1 = [1, 2, 3] const arr2 = [4, 5, 6] arr1.splice(arr1.length, 0, ...arr2) // arr1 变为 [1, 2, 3, 4, 5, 6]
7. 使用 Array.prototype.concat.apply 方法 ==》不改变原数组
这种方法可以用于合并大量数组,但通常不太推荐使用,因为有更简洁的替代方法。
const arr1 = [1, 2, 3] const arr2 = [4, 5, 6] const mergedArr = Array.prototype.concat.apply(arr1, arr2) // [1, 2, 3, 4, 5, 6]
8. arr1.push.apply(arr1,arr2) ==》修改原数组
const arr1 = [1, 2, 3]
const arr2 = [4, 5, 6]
arr1.push.apply(arr1,arr2)
console.log(arr1) // [1, 2, 3, 4, 5, 6]
