js处理复杂数据格式数组嵌套对象,对象嵌套数组,reduce处理数据格式


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"]}
]
*/ 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM