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

如何使用map函数为JSON文件中的每个对象批量新增属性

实现代码

Array.map的核心规则是:回调函数返回什么值,最终生成的新数组对应位置的元素就是什么。要为每个原数组元素添加age:30属性,有两种可落地的写法,优先推荐无副作用的实现:

  • 展开运算符写法(推荐,不会修改原始数据)
    直接在返回值里用对象展开语法,把原item的所有属性复制到新对象,再追加age字段即可:
const data = require("./data.json");

const items = data.map((item) => {
  return {
    ...item,
    age: 30
  };
});

这种写法生成的每个元素都是全新对象,不会改动原data数组里存储的原始对象,适合后续可能重复使用原始数据的场景。

  • 直接修改原对象写法
    如果确定不需要保留不带age属性的原始对象,也可以直接给遍历到的item赋值后返回:
const items = data.map((item) => {
  item.age = 30;
  return item;
});

注意:这种写法会直接改动内存中原对象的属性,如果其他代码逻辑依赖原始对象的字段构成,容易出现不可预期的状态污染,仅在确定无复用需求时使用。

常见语法坑提醒

你当前示例里写的data.json文件内容包含const arr = [...]这类JS变量声明语句,不符合JSON纯数据的语法规范,直接用require()引入会触发语法报错。正确的data.json应该是纯数组结构,无任何JS语法关键字:

[
  {
    "index": 0,
    "name": "John",
    "hair": "Brown"
  },
  {
    "index": 1,
    "name": "Bob",
    "hair": "Blonde"
  }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 23:15:08