【发布时间】:2019-02-12 21:53:19
【问题描述】:
我正在尝试将一组对象组合成一个对象,该对象合并所有类似属性的值。
objArray = [{
foo: ["f", "b"],
bar: ["e"]
}, {
foo: ["a", "c"],
bar: ["a", "c"]
}, {
foo: ["f", "b"],
bar: ["z"]
}];
const newObj = {
foo: [],
bar: []
};
objArray.forEach((obj) => {
newObj.foo.push(...obj.foo);
newObj.bar.push(...obj.bar);
});
console.log(newObj);
我用上面的代码得到了想要的输出。使用上面的 forEach 循环是实现我打算做的最好的方法吗?理想情况下,我不想指定要合并的属性,我希望代码自动合并相同的属性名称。
编辑:
我需要支持 IE11
【问题讨论】:
-
不是骗子@Nisarg
标签: javascript arrays array.prototype.map