我将此数据添加到我的响应中
var data=[ { id: 9,
ticketId: 9,
member: { id: 3, email: 'ganeshpandi@gmail.com' } },
{ id: 10,
ticketId: 9,
member: { id: 4, email: 'braveganesh128@gmail.com' } } ];
我想将所有邮件发送到所有成员(member)邮箱,
我的预期结果是:
var data=[ {
ticketId: 9,
member: { email: ['ganeshpandi@gmail.com','braveganesh128@gmail.com'] } },
];
这个结果在 foreach 中可能吗?
最佳答案
您可以使用 array#reduce
根据新对象累加器中的 ticketId
对数组对象进行分组,然后使用 Object.values()
提取每个键的所有值。
var data = [{ id: 9, ticketId: 9, member: { id: 3, email: 'ganeshpandi@gmail.com' } }, { id: 10, ticketId: 9, member: { id: 4, email: 'braveganesh128@gmail.com'}}],
result = Object.values(data.reduce((r, {ticketId, member: {email}}) => {
r[ticketId] = r[ticketId] || {ticketId, member:{email: []}};
r[ticketId].member.email.push(email);
return r;
},{}));
console.log(result);
关于javascript - 将数组对象字段数据添加到 JavaScript 中的单个对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50443118/