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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 08:42:02