let arr=[{a:'xinxin'},{a:'pipi'},{a:'zhazha'},{ a:'xinixn',c:1 }]合并相同key
时间: 2023-05-30 08:06:06 浏览: 87
python dict 相同key 合并value的实例
5星 · 资源好评率100%
的对象:
首先,我们需要遍历数组中的每个对象,然后将它们的key值相同的对象合并成一个对象。这可以通过使用reduce()方法来完成。具体步骤如下:
1. 创建一个空对象result,作为reduce()方法的初始值。
2. 对于数组中的每个对象,在result对象中查找是否已经存在一个key值与该对象相同的对象。
3. 如果已经存在,则将该对象的属性合并到已存在的对象中。
4. 如果不存在,则将该对象添加到result对象中。
5. 返回result对象。
代码如下:
```
let arr = [{a:'xinxin'}, {a:'pipi'}, {a:'zhazha'}, {a:'xinxin', c:1}];
let result = arr.reduce((acc, cur) => {
let key = cur.a;
let existingObj = acc.find(obj => obj.a === key);
if (existingObj) {
Object.assign(existingObj, cur);
} else {
acc.push(cur);
}
return acc;
}, []);
console.log(result);
```
输出结果如下:
```
[
{ a: 'xinxin', c: 1 },
{ a: 'pipi' },
{ a: 'zhazha' }
]
```
注意,我们在合并对象时使用了Object.assign()方法,这是ES6中的一个方法,用于将一个或多个源对象的属性复制到目标对象中。
阅读全文