Javascript 如何按对象属性值对对象数组进行分组?

Javascript 如何按对象属性值对对象数组进行分组?,javascript,arrays,react-native,grouping,Javascript,Arrays,React Native,Grouping,我有这样的JSON: [ { "id": 9, "job_id": 302, "user_id": 63, "message": "User message 1", "created_at": 1584091342 }, { "id": 10, "job_id": 302, "user_id": 63, "message": "User message 2", "created_at": 15840959

我有这样的JSON:

[
  {
    "id": 9,
    "job_id": 302,
    "user_id": 63,
    "message": "User message 1",
    "created_at": 1584091342
  },
  {
    "id": 10,
    "job_id": 302,
    "user_id": 63,
    "message": "User message 2",
    "created_at": 1584095994
  },
  {
    "id": 14,
    "job_id": 302,
    "user_id": 63,
    "message": "Hello",
    "created_at": 1584102257
  },
]
如何按日期对邮件进行分组,类似这样的事情? (我正在使用moment.js格式化unix时间戳)


我们可以使用数组函数reduce来实现:

我们还需要将您的数据从毫秒转换为天

const数据=[
{
“id”:9,
“工作id”:302,
“用户id”:63,
“消息”:“用户消息1”,
“创建时间”:1584130559280
},
{
“id”:10,
“工作id”:302,
“用户id”:63,
“消息”:“用户消息2”,
“创建时间”:1584130559280
},
{
“id”:14,
“工作id”:302,
“用户id”:63,
“留言”:“你好”,
“创建地址”:1584216959280
},
{
“id”:15,
“工作id”:302,
“用户id”:63,
“信息”:“世界”,
“创建地址”:1584216959280
}  
]
const groupedData=data.reduce((aggObj,child)=>{
const myDate=新日期(子项创建时间);
//log(myDate.toDateString());
//log(myDate.getTime());
if(aggObj.hasOwnProperty(myDate.toDateString())){
aggObj[myDate.toDateString()].push(子对象);
}否则{
aggObj[myDate.toDateString()]=[child];
}    
返回aggObj
}, {})
console.log(groupedData)
。作为控制台包装{最大高度:100%!重要;顶部:0;}