ECMAScript6对象合并去重
时间: 2024-08-17 19:02:59 浏览: 32
ECMAScript 6(ES6)并没有直接提供一个内置的方法来进行对象合并并自动去除重复键值对。但在JavaScript中,可以使用`Object.assign()`函数结合一些自定义逻辑来实现类似的功能。`Object.assign()`用于合并源对象到目标对象,如果目标对象已有同名属性,新属性会覆盖原有的。
例如,如果你想合并两个对象并移除重复的属性,你可以这样做:
```javascript
function mergeObjectsWithoutDuplicates(target, ...sources) {
sources.forEach(source => {
Object.keys(source).forEach(key => {
if (!target.hasOwnProperty(key)) {
target[key] = source[key];
}
});
});
return target;
}
const obj1 = { a: 1, b: 2 };
const obj2 = { c: 3, d: 4, b: 5 }; // 含有重复键b
const mergedObj = mergeObjectsWithoutDuplicates(obj1, obj2);
console.log(mergedObj); // 输出:{ a: 1, b: 5, c: 3, d: 4 }
```
在这个例子中,我们创建了一个辅助函数`mergeObjectsWithoutDuplicates`,它遍历每个来源对象的属性,并只将那些目标对象中不存在的属性添加进去。