js 合并多个对象的方法
时间: 2025-06-10 12:29:23 浏览: 10
### JavaScript 中合并多个对象的方法
#### 使用 `Object.assign()` 方法
`Object.assign()` 是一种常用方法来复制、克隆或连接两个或更多对象。此函数的第一个参数为目标对象,后续参数为源对象。该方法会将所有枚举属性从一个或多个源对象复制到目标对象,并返回修改后的目标对象[^1]。
```javascript
const target = { a: 1 };
const sourceOne = { b: 2 };
const sourceTwo = { c: 3 };
const mergedObject = Object.assign(target, sourceOne, sourceTwo);
console.log(mergedObject); // 输出: { a: 1, b: 2, c: 3 }
```
需要注意的是,如果存在同名键,则后面的值会覆盖前面的值:
```javascript
const target = { prop: "valueA" };
const source = { prop: "valueB" };
const result = Object.assign({}, target, source);
console.log(result.prop); // 输出:"valueB"
```
#### 利用扩展运算符 (`...`)
除了 `Object.assign()` 外,在 ES6 及更高版本中还可以使用扩展运算符来进行更简洁的对象合并操作。这种方式同样适用于浅拷贝场景下多对象之间的组合。
```javascript
const obj1 = { key1: 'val1' };
const obj2 = { key2: 'val2' };
const combinedObj = { ...obj1, ...obj2 };
console.log(combinedObj); // 结果:{key1:"val1", key2:"val2"}
```
对于深层次嵌套结构的数据来说,以上两种方式都只做了一层深拷贝处理;当遇到复杂数据类型作为属性值时(比如数组或其他对象),它们内部的内容不会被真正意义上的复制而是共享引用关系。因此在某些情况下可能需要考虑采用第三方库如 lodash 来实现深度合并功能[^4]。
阅读全文
相关推荐


















