【发布时间】:2020-02-05 21:17:41
【问题描述】:
我有下面的数组,想创建一个新的对象,需要 ID + 参加者(姓名/照片)
所以输出应该是新的object = [{id:1, name: 'tom'}, {id:2, name: 'john'}]
需要vanilla JS 首选es6
const eventData = [{
id: "1",
title: 'event1'
attendees: [{
name: "Tom",
photoURL: "https://randomuser.me/api/portraits/men/22.jpg"
}]
},
{
id: "2",
title: 'event2'
attendees: [{
name: "John",
photoURL: "https://randomuser.me/api/portraits/men/22.jpg"
}]
}
];
并且想创建一个格式如下的新对象
const attendees = [{
id: "1",
name: "Tom",
photoURL: "https://randomuser.me/api/portraits/men/22.jpg"
},
{
id: "2",
name: "Tom",
photoURL: "https://randomuser.me/api/portraits/men/22.jpg"
}
];
谢谢。
【问题讨论】:
-
"Need vanilla JS prefer es6" 您至少自己尝试过,还是只是要求我们为您编写代码?如果您尝试过,请与我们分享代码,然后我们可以指导解决方案
-
这看起来像是数组“map”函数的一个很好的用例。即
eventData.map(),特别是如果attendees数组始终是单个条目... -
类似
eventData.reduceRight((acc, v) => v.attendees.map(at => ({ ...at, id: v.id })).concat(acc), [])?
标签: javascript arrays