js 这种数据怎么根据某个值合并?
第一个数据:
[
{
"id": 59,
"guid": 205
},
{
"id": 49,
"guid": 204
},
{
"id": 60,
"guid": 204
}
]
第二个数据:
[
{
"id": 203
},
{
"id": 205
},
{
"id": 204
}
]
上面两个怎么合并成这样的:
[
{
"id": 203
},
{
"id": 205,
"_id": [59]
},
{
"id": 204,
"_id": [49,60]
}
]
回复
1个回答

test
2024-07-15
const list1 = [
{
"id": 59,
"guid": 205
},
{
"id": 49,
"guid": 204
},
{
"id": 60,
"guid": 204
}
];
const list2 =[
{
"id": 203
},
{
"id": 205
},
{
"id": 204
}
];
list2.forEach((item) => {
const res = list1.filter(({guid}) => guid === item.id)
if (res) item._id = res.map(({id})=> id)
})
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容