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

如何使用JavaScript在数组中每个JSON对象开头添加键值对

给JSON数组每个对象开头添加id键值对的解决方案

嘿,这个问题我太熟啦!你之前用map的时候把id加在末尾,是因为你先展开了原对象再添加id。要把id放在对象最前面,只需要调整一下属性的定义顺序就行~

具体实现代码

// 你的原始数据
const originalData = [
  { "Forename": "Scott", "Surname": "Jones", "Age": 18 },
  { "Forename": "Tina", "Surname": "Turner", "Age": 20 },
  { "Forename": "Joe", "Surname": "Bloggs", "Age": 20 }
];

// 给每个对象开头添加id的正确写法
const dataWithId = originalData.map((item, index) => ({
  id: index + 1, // 先定义id,放在最前面
  ...item // 再展开原对象的其他属性
}));

console.log(dataWithId);

为什么这个方法能生效?

在ES6及以后的JavaScript规范里,对象字面量中属性的定义顺序会被保留。你之前的写法是{...item, id: index+1},先把原对象的所有属性展开,再添加id,所以id自然就排在了最后。反过来先写id,再展开原对象,id就会成为对象的第一个属性。

小提示

如果你的运行环境是非常老的ES5及以下版本,对象属性的顺序是不被保证的,但现在主流的浏览器、Node.js环境都已经支持ES6+的属性顺序规则,所以这个方案完全可靠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 18:32:43