嘿,我的地图过滤器刚刚遇到问题,无法返回字段的值,我不确定为什么它没有返回预期值。在下面的示例中,我应该看到就绪字段的值“false”,但它返回了 []。
代码:
所以当我这样做时:
const ready = JSON.parse(list)
.data.games[0].filter((game) => game.field)
.map((game) => game.field[0]);
它返回这个 json:
[
{
"id": "d7e8fbd8-026e-3afa-94ac-403033002",
"name": "Game A",
"status": "A",
"ready": "false"
},
{
"id": "d7e8fbd8-026e-3afa-94ac-403033003",
"name": "Game B",
"status": "A",
"ready": "false"
}
]
但是当我像这样包含准备好的字段时:
const ready = JSON.parse(list)
.data.games[0].filter((game) => game.field)
.map((game) => game.field[0].ready);
它回来了
[]
如果我这样做也一样:
const ready = JSON.parse(list)
.data.games[0].filter((game) => game.field)
.map((game) => game.field[0].ready[0]);
是我的地图和过滤器做错了吗?
JSON 中的游戏对象中没有
field
属性。
所以 games[0].filter(...)
返回一个空数组,之后会映射到一个空数组。