js根据某字段对数组对象进行分组

问题

希望能把当前的数组,根据相同的【日期】,放在一个数组里面;

let sourceData=[
        {date:"2021-01-01",name:"LuckyJin"},
        {date:"2021-01-01",name:"JinFed"},
        {date:"2021-02-01",name:"olivivian"}
    ]
  var dataTemp = []
  var newData = []
  sourceData.forEach( item =>{
    dataTemp[item.date] = dataTemp[item.date] || [];
    dataTemp[item.date].push(item);
  })
  console.log('格式一',dataTemp)

效果:


image.png
  for (let key in dataTemp ) {
    let obj = {}
    obj.date = key
    obj.list = dataTemp[key]
    newData.push(obj)
  }
  console.log('格式二',newData);

效果:


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容