vue下一些数据处理

1.数组[ {},{},{},{} ]==》[ [{},{}] , [{},{}] ]   遍历 去重 建模 关联 排序

var arr=[{cname:'A',reType:1,riskRemark:'1111'},{cname:'A',reType:2,riskRemark:'22222'},{cname:'B',reType:1,riskRemark:'3333'},{cname:'B',reType:2,riskRemark:'44444'}]

==>

arrneed=[[{cname:'A',reType:1,riskRemark:'1111'},{cname:'A',reType:2,riskRemark:'22222'}],[{cname:'B',reType:1,riskRemark:'3333'},{cname:'B',reType:1,riskRemark:'4444'}]]

解析:

let arr1=[];

for(var i=0;i<arr.length;i++){//1.遍历出cname

  arr1.push(arr[i].cname)

}

let arr2=Array.form(new Set(arr1));//2.对cname去重

let arr3=[];

for (var j=0;j<arr2.length;j++){//3.需要造出的数组结构[[],[]]

   arr3.push([]);

}

for(var k=0;k<arr2.length;k++){//4.关联出新数组

    for (var n=0;n<arr.length;n++){

         if(arr[n].cname===arr2[k]){

              arr3[k].push(arr[n]);

         }

      }

}

this.workInfo=arr3.map(item=>{//5.在新数组依据reType排序

     return item.sort(this.compare('reType'))

})

compare(pro){

   return function(a,b){

      var value1=a[pro];

      var value2=b[pro];

     return value2-value1;

    }

}

猜你喜欢

转载自blog.csdn.net/wenmin1987/article/details/84939273