如何使用相同的键对对象的JavaScript数组进行分组

时间:2019-06-28 20:23:15

标签: javascript arrays object merge

我对此回应有一些疑问。我需要通过电子邮件显示用户数据和特定用户的所有消息。因此,我需要通过用户电子邮件将所有消息分组,并以html显示。

我需要遍历对象数组,并向用户显示电子邮件及其所有消息。您能帮我解决这个问题吗?预先感谢。

所以我得到了这样的东西:

[ { createdAt: '16-06-2019',
    _id: 5d057bcff1b7df4e7d0d7ab0,
    app_id: '2cd13022b821bb89a11a',
    company_id: '5cf17a543d68d32a2e53cf9b',
    user_id: '5d00b480f4534f2fcad63dad',
    user_name: 'first user',
    user_email: 'firstuser@gmail.com',
    message: 'Omfg!',
    message_status: 'unread',
    },
  { createdAt: '16-06-2019',
    _id: 5d06359549f4a71d6f78b78a,
    app_id: '2cd13022b821bb89a11a',
     company_id: '5cf17a543d68d32a2e53cf9b',
     user_id: '5d00b480f4534f2fcad63dad',
     user_name: 'first user',
    user_email: 'firstuser@gmail.com',
    message: 'Test msg',
    message_status: 'unread',
    },
  {  createdAt: '17-06-2019',
    _id: 5d07c7f6ac251d1c331cb20c,
    app_id: '2cd13022b821bb89a11a',
    company_id: '5cf17a543d68d32a2e53cf9b',
    user_id: '5d07c6cdb979af1ac5aa25ec',
    user_name: 'Second user',
    user_email: 'seconduser@gmail.com',
    message: 'msg from second user',
    message_status: 'unread',
     } 
]

期望的结果应该是这样的:

[ { createdAt: '16-06-2019',
    _id: 5d057bcff1b7df4e7d0d7ab0,
    app_id: '2cd13022b821bb89a11a',
    company_id: '5cf17a543d68d32a2e53cf9b',
    user_id: '5d00b480f4534f2fcad63dad',
    user_name: 'first user',
    user_email: 'firstuser@gmail.com',
    messages: ['Omfg!', Test msg ]   -> group all messages by user email
    message_status: 'unread',
    }, 
  {  createdAt: '17-06-2019',
    _id: 5d07c7f6ac251d1c331cb20c,
    app_id: '2cd13022b821bb89a11a',
    company_id: '5cf17a543d68d32a2e53cf9b',
    user_id: '5d07c6cdb979af1ac5aa25ec',
    user_name: 'Second user',
    user_email: 'seconduser@gmail.com',
    messages: ['msg from second user'],
    message_status: 'unread',
     } 
]

如果您有任何想法如何映射此对象数组以显示html中的用户电子邮件及其消息,请与我分享:)

0 个答案:

没有答案