js将数组内属性值相同的项合并成二维数组

var ary=[
        {"RaDate":'2021-09-08',"Type":'Morning1','title':'测试1'},
        {"RaDate":'2021-09-08',"Type":'Morning2','title':'测试2'},
        {"RaDate":'2021-10-08',"Type":'Morning3','title':'测试3'},
        {"RaDate":'2021-09-08',"Type":'Morning4','title':'测试4'},
        {"RaDate":'2021-10-08',"Type":'Morning5','title':'测试5'},
        ] //原数组
    var arrs=[
    {"RaDate":'2021-09-08','child':[]},
    {"RaDate":'2021-10-08','child':[]},
    {"RaDate":'2021-11-08','child':[]},
    ] //新创建的数组
    for(let i=0;i<arrs.length;i++){
        var result = ary.reduce((cur, next,index) => {
        console.log(cur, next,index)
          var key = next.RaDate
          key ==arrs[i].RaDate ?cur.push(next): ''
          return cur;
      }, [])
      if(result.length==0){
        arrs.splice(i,1)
      }else{
        arrs[i].child=result
      }
      console.log(result)

    }
  console.log(arrs)

 

posted @ 2022-05-09 10:21  IT小姐姐  阅读(836)  评论(0编辑  收藏  举报