1. 程式人生 > >對數組對象進行分類

對數組對象進行分類

代碼 數據 for dex length each spa 操作 數組

最近對數據操作比較多,也碰到了很多關於數組的東西,數組對象就是其中一個。現在要對數組對象進行分類,即:

let arr=[{a:1,b:2,c:3},{a:2,b:3,c:4},{a:2,b:3,c:4},{a:4,b:3,c:4},{a:5,b:3,c:4}]

分類成:

let arr=[{a:1,detail:[{a:1,b:2,c:3}]},{a:2,detail:[{a:2,b:3,c:4},{a:2,b:3,c:4}]},{a:4,detail:[{a:4,b:3,c:4}],{a:5,detail:[{a:5,b:3,c:4}]}]

上代碼:

let arr=[{a:1,b:2,c:3},{a:2,b:3,c:4},{a:2,b:3,c:4},{a:4,b:3,c:4},{a:5,b:3,c:4}]
let data
=[] arr.forEach((item,index)=>{ if(data.length==0){ data.push({ a:item.a, detail:[item] }) }else{ let isItemIn=false let indexItem=-1 data.forEach((dataItem,dataIndex)=>{ if(dataItem.a==item.a){ isItemIn=true indexItem=dataIndex } })
if(isItemIn){ data[indexItem].detail.push(item) }else{ data.push({ a:item.a, detail:[item] }) } } })

對數組對象進行分類