【发布时间】:2021-10-08 14:36:51
【问题描述】:
我有以下 javascript 数组(我今天玩得很开心 map()) - 我希望能够返回 pages 数据,但将 page id 作为键和位置的索引pages数组中的那个页面作为值。我做错了什么?
let result = [
{
"id": 10000089,
"units": [
{
"id": 10000200,
"pages": [
{
"id": 100000882
}
]
},
{
"id": 10000340,
"pages": [
{
"id": 100000912
},
{
"id": 100000915
},
{
"id": 100000919
}
]
}
],
}
];
// this is my attempt but doesn't return in the intended format below
result.flatMap(el => el.units.map((e, i) => (e.pages)));
预期输出
pages = [
100000882 => 0,
100000912 => 0,
100000915 => 1,
100000919 => 2,
]
这里是代码的stackblitz https://stackblitz.com/edit/js-mc9rqe
【问题讨论】:
-
预期输出无效。
pages必须是一个对象(或对象数组)。您希望 id 及其索引在各自的pages数组中。.map(i, i) => (e.pages))应该如何产生这个输出(你甚至不使用索引i)?
标签: javascript arrays foreach array.prototype.map