最近对数据操作比较多, 也碰到了很多关于数组的东西, 数组对象就是其中一个. 现在要对数组对象进行分类, 即:
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]
- })
- }
- }
- })
来源: http://www.bubuko.com/infodetail-2921135.html