【发布时间】:2021-02-17 19:43:34
【问题描述】:
假设我们有以下数组:
const admins = [
{
adminName: 'admin 1',
devices: [
{
deviceName: 'device 1',
os: 'desktop',
appVersion: 1.2.0
},
{
deviceName: 'device 2',
os: 'desktop',
appVersion: 1.4.0
}
]
},
{
adminName: 'admin 2',
devices: [
{
deviceName: 'device 1',
os: 'ios',
appVersion: 1.4.0
},
{
deviceName: 'device 2',
os: 'android',
appVersion: 1.1.0
}
]
}
]
我正在尝试像这样将来自不同管理员的所有设备收集到一个数组中。
const adminDevices = admins.map(admin => admin.devices);
但这会返回一个数组,其中包含另一个包含设备的数组。
我尝试了以下方法:
const adminDevices = admins.map((admin) => {
return admin.devices.reduce((accumulator, value) => {
return value;
}, {});
});
但这正如预期的那样只返回第一个设备值。关于如何使用任何 Array 方法完成此操作而无需声明空数组或设置并手动填写的任何建议?
【问题讨论】:
标签: javascript arrays javascript-objects