两个数组对象arr1和arr2
var arr1 = [
{id:1,name:'a'}, {id:2,name:'b'}, {id:3,name:'c'}
]
var arr2 = [
{id:1,cid:1,name:'aa'}, {id:2,cid:1,name:'bb'}, {id:3,cid:2,name:'cc'}
]
怎么根据id和cid是否相等合并为一个数组对象?
结果:(希望得到)
arr=[
{id:1, name:'a', data:[{id:1,cid:1,name:'aa'}, {id:2,cid:1,name:'bb'}] }, {id:2, name:'b', data:[{id:3,cid:2,name:'cc'}] }, {id:3, name:'c', data:[] }
]
请教大佬,这种应该怎么做?
已解决
悬赏分:20
- 解决时间 2021-11-27 15:08
点赞 0反对 0举报 0
收藏 0
分享 6
回答1
最佳
-
reduce大法好
let s = arr1.reduce((a, item) => { let obj = { ...item, data: [] } arr2.forEach(i => i.cid === item.id && obj.data.push(i)) a.push(obj) return a }, []) console.log(s)
支持 0 反对 0 举报2021-11-27 10:59