Node.js如何批量替换数组内对象属性,将championId替换为对应英雄名称
实现方案
你可以通过构造ID-名称映射对象+数组遍历的方式完成批量替换,时间复杂度为O(n),哪怕后续英雄数量增加到上千条也能高效处理。
步骤1:构造映射对象
将你现有的ID和英雄名称对应关系整理为JS对象,后续可直接通过键值对快速查找对应名称:
const championIdToName = { 19: "Warwick", 24: "Jax", 131: "Diana", // 剩余所有英雄按照「ID: 名称」的格式补全即可 }
步骤2:遍历处理原始接口数据
使用Array.map遍历接口返回的原始数组,将每条数据中的championId替换为映射表中对应的英雄名称即可:
// 假设接口返回的原始数据存储在rawChampionData变量中 const processedData = rawChampionData.map(item => { return { // 加入兜底逻辑,映射表不存在的ID统一显示为未知英雄 championName: championIdToName[item.championId] ?? "未知英雄", championLevel: item.championLevel, championPoints: item.championPoints } })
如果原始数据中还有其他需要保留的字段,可以用解构语法简化代码,避免手动罗列所有字段:
const processedData = rawChampionData.map(({ championId, ...otherFields }) => { return { championName: championIdToName[championId] ?? "未知英雄", ...otherFields } })
处理完成后的processedData就是你需要的带英雄名称的数组。
内容的提问来源于stack exchange,提问作者Tiago Fuhrmann
相关产品推荐
相关产品推荐

