推荐答案
在 JavaScript 中,展开运算符(...
)可以用于合并对象或数组。以下是使用展开运算符合并对象和数组的示例:
合并数组
const arr1 = [1, 2, 3]; const arr2 = [4, 5, 6]; const mergedArray = [...arr1, ...arr2]; console.log(mergedArray); // 输出: [1, 2, 3, 4, 5, 6]
合并对象
const obj1 = { a: 1, b: 2 }; const obj2 = { c: 3, d: 4 }; const mergedObject = { ...obj1, ...obj2 }; console.log(mergedObject); // 输出: { a: 1, b: 2, c: 3, d: 4 }
本题详细解读
展开运算符的作用
展开运算符(...
)是 ES6 引入的一个语法特性,它可以将数组或对象展开为单个元素或属性。在合并数组或对象时,展开运算符非常有用。
合并数组
当使用展开运算符合并数组时,它会将两个或多个数组的元素展开,并放入一个新的数组中。例如:
const arr1 = [1, 2, 3]; const arr2 = [4, 5, 6]; const mergedArray = [...arr1, ...arr2];
在这个例子中,...arr1
将 arr1
中的元素展开为 1, 2, 3
,...arr2
将 arr2
中的元素展开为 4, 5, 6
,然后将它们合并到一个新的数组 mergedArray
中。
合并对象
当使用展开运算符合并对象时,它会将两个或多个对象的属性展开,并放入一个新的对象中。如果对象中有相同的属性名,后面的对象属性会覆盖前面的对象属性。例如:
const obj1 = { a: 1, b: 2 }; const obj2 = { b: 3, c: 4 }; const mergedObject = { ...obj1, ...obj2 };
在这个例子中,...obj1
将 obj1
的属性展开为 { a: 1, b: 2 }
,...obj2
将 obj2
的属性展开为 { b: 3, c: 4 }
,然后将它们合并到一个新的对象 mergedObject
中。由于 obj2
中的 b
属性会覆盖 obj1
中的 b
属性,最终结果为 { a: 1, b: 3, c: 4 }
。
注意事项
- 展开运算符只能用于可迭代对象(如数组)或对象字面量。
- 在合并对象时,如果存在相同的属性名,后面的对象属性会覆盖前面的对象属性。
- 展开运算符是浅拷贝,对于嵌套的对象或数组,只会复制引用,不会进行深拷贝。