const info = [
{ a: 1, b: 11, c: 101 },
{ a: 1, b: 12, c: 102 },
{ a: 1, b: 13, c: 103 },
{ a: 2, b: 14, c: 110 },
];
let obj = {};
// 根据a的value的不同来创建不同的对象
info.forEach((item) => {
if (obj[item.a]) {
obj[item.a].r = [...obj[item.a].r, item.b];
obj[item.a].w = [...obj[item.a].w, item.c];
} else {
obj[item.a] = { r: [item.b], w: [item.c] };
}
});
let arr = [];
Object.keys(obj).forEach((item, index) => {
arr[index] = {
a: item,
b: obj[item],
};
});
// 期望实现成
// const res = [
// { a: 1, b: { r: [11, 12, 13], w: [101, 102, 103] } },
// { a: 2, b: { r: [14], w: [110] } },
// ];
将数组对象中key相同且value也相同的对象合并
于 2022-01-28 10:33:29 首次发布