使用 Object.assign 方法
const obj1 = { a: 1, b: 2 };
const obj2 = { b: 3, c: 4 };
const mergedObject = Object.assign({}, obj1, obj2);
console.log(mergedObject); // { a: 1, b: 3, c: 4 }
Object.assign 会覆盖重复的属性值,后面的对象属性值会覆盖前面的。
使用扩展运算符 …
const obj1 = { a: 1, b: 2 };
const obj2 = { b: 3, c: 4 };
const mergedObject = { …obj1, …obj2 };
console.log(mergedObject); // { a: 1, b: 3, c: 4 }
后面的对象属性值会覆盖前面的。
使用 Object.keys 和 reduce
const obj1 = { a: 1, b: 2 };
const obj2 = { b: 3, c: 4 };
const mergedObject = Object.keys(obj2).reduce((acc, key) => {
acc[key] = obj2[key];
return acc;
}, { …obj1 });
console.log(mergedObject); // { a: 1, b: 3, c: 4 }
后面的对象属性值覆盖前面的。