首页 > 解决方案 > 使用 JS 在数组中每个 JSON 对象的开头附加一个键值对

问题描述

基本上我有一些这样的数据:

[
 {
  "Forename": "Scott",
  "Surname": "Jones",
  "Age": 18,
 },
 {
  "Forename": "Tina",
  "Surname": "Turner",
  "Age": 20,
 },
 {
  "Forename": "Joe",
  "Surname": "Bloggs",
  "Age": 20,
 }
]

我想知道如何使用 javascript 添加键值对,如下所示:

[
 {
  "id": 1,
  "Forename": "Scott",
  "Surname": "Jones",
  "Age": 18,
 },
 {
  "id": 2,
  "Forename": "Tina",
  "Surname": "Turner",
  "Age": 20,
 },
 {
  "id": 3,
  "Forename": "Joe",
  "Surname": "Bloggs",
  "Age": 20,
 }
]

我正在查看诸如映射之类的东西并将其添加到每个对象,但这似乎只能让我在每个对象的末尾添加一个键值对。

任何帮助/指导表示赞赏!

标签: javascriptjson

解决方案


我能想到的最快的方法是:

let data = [
 {
  "Forename": "Scott",
  "Surname": "Jones",
  "Age": 18,
 },
 {
  "Forename": "Tina",
  "Surname": "Turner",
  "Age": 20,
 },
 {
  "Forename": "Joe",
  "Surname": "Bloggs",
  "Age": 20,
 }
];

data = data.map((e,i) => Object.assign({id: i}, e));

推荐阅读