对数组对象进行分类

Posted zdping

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对数组对象进行分类相关的知识,希望对你有一定的参考价值。

最近对数据操作比较多,也碰到了很多关于数组的东西,数组对象就是其中一个。现在要对数组对象进行分类,即:

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]
       })
     }
   }
}) 

 

以上是关于对数组对象进行分类的主要内容,如果未能解决你的问题,请参考以下文章

js简洁代码片段

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”

对返回的数据进行归类处理

ngFor - 无法对对象数组进行排序Angular 5

为什么我不能在此片段中生成唯一对象数组?

文本分类