You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native中如何遍历复杂数组并提取所有游戏名称?

嵌套数组遍历问题解决

错误根源

你写的代码只遍历了最外层数组,但item.data是一个数组,不是单个对象——直接访问item.data.games会得到undefined,自然没有任何输出。要拿到所有游戏名称,得逐层遍历嵌套的数组:先遍历data里的每个用户,再遍历每个用户的games数组。

正确实现方式

直接打印所有游戏名称

const arr = [{
    "status": "success",
    "data": [{
            "name": "user1",
            "games": [{
                "id": 1,
                "gamename": "cricket"
            }, {
                "id": 2,
                "gamename": "football"
            }]
        },
        {
            "name": "user1",
            "games": [{
                "id": 1,
                "gamename": "videogames"
            }, {
                "id": 2,
                "gamename": "volleyball"
            }]
        }
    ]
}]

// 逐层遍历嵌套数组
arr.forEach(item => {
    item.data.forEach(user => {
        user.games.forEach(game => {
            console.log(game.gamename);
        });
    });
});

执行后会依次输出:cricket、football、videogames、volleyball。

收集所有游戏名称到数组

如果需要把所有游戏名称整理成一个数组,可以用flatMap简化代码:

const allGameNames = arr.flatMap(item => 
    item.data.flatMap(user => 
        user.games.map(game => game.gamename)
    )
);

console.log(allGameNames); // 输出 ["cricket", "football", "videogames", "volleyball"]

内容的提问来源于stack exchange,提问作者Vikram Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 22:15:49