如何根据单个数组元素中的重复日期过滤数据

How to filter data as per repeat dates in single array element

这是我已有的对象数组类型

[ { "date":"12-09-2019 12:00 PM", "id":"1", "name":"hello1" }, { "date":"12-09-2019 03:00 PM", "id":"2", "name":"hello2" }, { "date":"12-09-2019 07:00 PM", "id":"3", "name":"hello3" }, { "date":"13-09-2019 08:00 AM", "id":"4", "name":"hello4" }, { "date":"14-09-2019 10:00 AM", "id":"5", "name":"hello5" }, { "date":"14-09-2019 11:30 PM", "id":"6", "name":"hello6" } ]

但我想要新的筛选数组,如下所示

[ { "date": "12-09-2019", "data": [ { "id": "1", "name": "hello1" }, { "id": "2", "name": "hello2" }, { "id": "3", "name": "hello3" } ] }, { "date": "13-09-2019", "data": [ { "id": "4", "name": "hello4" } ] }, { "date": "14-09-2019", "data": [ { "id": "5", "name": "hello5" }, { "id": "6", "name": "hello6" } ] } ]

请大家帮帮我。

这是我目前所做的

public data: any;
    public dateGroupArr: any = [];

    this.data.forEach((item, index) => {
      dataArr = item;
      dateGroupArr[item['date']]['date'] = item['date'];
      dataArr.splice(dataArr['date']);
      dateGroupArr[item['date']]['data'] = dataArr;
    });

谢谢

希望对您有所帮助

var data = [
  {
    date: "12-09-2019 12:00 PM",
    id: "1",
    name: "hello1"
  },
  {
    date: "12-09-2019 03:00 PM",
    id: "2",
    name: "hello2"
  },
  {
    date: "12-09-2019 07:00 PM",
    id: "3",
    name: "hello3"
  },
  {
    date: "13-09-2019 08:00 AM",
    id: "4",
    name: "hello4"
  },
  {
    date: "14-09-2019 10:00 AM",
    id: "5",
    name: "hello5"
  },
  {
    date: "14-09-2019 11:30 PM",
    id: "6",
    name: "hello6"
  }
].map(item => moment(item.updatedAt).format("YYYY-MM-DD"));

var dateList = [...new Set(data.map(item => item.date.split(" ")[0]))]; // please put this

var finalList = dateList.map(item => ({
  date: item,
  data: data.filter(_item => _item.date.includes(item))
}));

console.log(finalList);