地图过滤器返回空白数组[关闭]

问题描述 投票:0回答:1

嘿,我的地图过滤器刚刚遇到问题,无法返回字段的值,我不确定为什么它没有返回预期值。在下面的示例中,我应该看到就绪字段的值“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]);

是我的地图和过滤器做错了吗?

javascript
1个回答
-3
投票

JSON 中的游戏对象中没有

field
属性。 所以
games[0].filter(...)
返回一个空数组,之后会映射到一个空数组。

© www.soinside.com 2019 - 2024. All rights reserved.