JavaScript中使用for in遍历JSON对象查询球队所属赛区的最优方法
查找球队所属赛区的最优实现方法
给定的JSON数据如下:
{"table":{"1° Division":["Flamengo","Goiás","Palmeiras"], "2° Division": ["Real","Barc","Madri"], "3°Division": ["Vasco","Itunbi","Recife"]}}
要查询球队“Vasco”所属的赛区,最优方法是利用Object.entries()结合数组的find()方法,具体实现如下:
代码实现
// 假设数据已解析为JS对象 const leagueData = {"table":{"1° Division":["Flamengo","Goiás","Palmeiras"], "2° Division": ["Real","Barc","Madri"], "3°Division": ["Vasco","Itunbi","Recife"]}}; const targetTeam = "Vasco"; // 遍历赛区键值对,找到包含目标球队的赛区 const targetDivision = Object.entries(leagueData.table).find(([division, teams]) => teams.includes(targetTeam))?.[0]; // 输出结果 if (targetDivision) { console.log(`${targetTeam} 所属赛区:${targetDivision}`); } else { console.log(`未找到球队 ${targetTeam} 的相关赛区信息`); }
方法优势
- 高效终止遍历:
find()方法在找到符合条件的赛区后会立即停止遍历,避免不必要的循环,性能更优 - 直观易读:
Object.entries()将赛区对象转换为[赛区名称, 球队列表]的键值对数组,逻辑清晰易懂 - 容错处理:使用可选链
?.避免因找不到球队而抛出错误,代码更健壮
内容的提问来源于stack exchange,提问作者Gustavo
相关产品推荐
相关产品推荐

