let list=[
{id:1,name:'a'},
{id:1,name:'b'},
{id:1,name:'c'},
{id:2,name:'A'},
{id:2,name:'B'},
{id:2,name:'C'},
]
//对象嵌套数组--{id:[name]}
let objList=list.reduce((obj,item)=>{
obj[item.id]?obj[item.id].push(item.name):obj[item.id]=[item.name]
return obj
},{})
console.log(objList)
/*
{
"1":["a","b","c"],
"2":["A","B","C"]
}
*/
//数组嵌套对象--[{id:id,name:[name]}]
let arrList=list.reduce((arr,item)=>{
let itemFind =arr.find(a=>(a.id==item.id))
itemFind?itemFind.name.push(item.name): arr.push({id:item.id,name:[item.name]})
return arr
},[])
console.log(arrList)
/*
[
{"id":1,"name":["a","b","c"]},
{"id":2,"name":["A","B","C"]}
]
*/