vue 数组对象相同id合并
时间: 2024-12-20 20:29:49 浏览: 6
【JavaScript源代码】vue element实现表格合并行数据.docx
Vue.js 中可以使用 `map`、`filter` 和 `reduce` 等数组操作结合对象属性来合并具有相同 ID 的数组对象。以下是一个基本的例子:
```javascript
let arr = [
{ id: '1', name: 'Tom' },
{ id: '1', age: 20 },
{ id: '2', name: 'Jerry' },
{ id: '3', name: 'Spike' }
];
// 使用 reduce 函数将具有相同 ID 的对象合并
let combinedObj = arr.reduce((acc, curr) => {
if (!acc[curr.id]) {
acc[curr.id] = { ...curr };
} else {
for (let key in curr) {
// 如果新对象有当前对象没有的键值,则添加
if (!acc[curr.id][key]) {
acc[curr.id][key] = curr[key];
}
}
}
return acc;
}, {});
console.log(combinedObj);
// 输出:
// {
// 1: { id: '1', name: 'Tom', age: 20 },
// 2: { id: '2', name: 'Jerry' },
// 3: { id: '3', name: 'Spike' }
// }
阅读全文