如何在JavaScript中为JSON数组中的每个对象添加ID?

如何在JavaScript中为JSON数组中的每个对象添加ID?,javascript,json,Javascript,Json,JSON文件中有许多对象看起来像我在下面展示的。我想为每个对象提供一个从0开始的索引号。我怎么做 [ { "language": "Python", "created": "2018-8-27 14:50:31", "evaluated": true, "hiddenCode": false }, ... ] 如果你用ES,可能是这

JSON文件中有许多对象看起来像我在下面展示的。我想为每个对象提供一个从
0
开始的索引号。我怎么做

[
  {
    "language": "Python",
    "created": "2018-8-27 14:50:31",
    "evaluated": true,
    "hiddenCode": false
  },
  ...
]

如果你用ES,可能是这样的

您应该使用map在对象上迭代并在其中添加属性

var yourObjects=[{
“语言”:“蟒蛇1”,
“已创建”:“2018-8-27 14:50:31”,
“评估”:正确,
“隐藏代码”:false
},  {
“语言”:“蟒蛇2”,
“已创建”:“2018-8-27 14:50:31”,
“评估”:正确,
“隐藏代码”:false
}
];
var i=0;
yourObjects.map(
(obj)=>{
obj['index']=i;
我++
返回obj;
});

log(您的对象)如果您使用ES,可能会出现类似的情况

您应该使用map在对象上迭代并在其中添加属性

var yourObjects=[{
“语言”:“蟒蛇1”,
“已创建”:“2018-8-27 14:50:31”,
“评估”:正确,
“隐藏代码”:false
},  {
“语言”:“蟒蛇2”,
“已创建”:“2018-8-27 14:50:31”,
“评估”:正确,
“隐藏代码”:false
}
];
var i=0;
yourObjects.map(
(obj)=>{
obj['index']=i;
我++
返回obj;
});

log(您的对象)您可以在对象上循环并添加新属性

var数组=[{
“语言”:“蟒蛇1”,
“已创建”:“2018-8-27 14:50:31”,
“评估”:正确,
“隐藏代码”:false
},  {
“语言”:“蟒蛇2”,
“已创建”:“2018-8-27 14:50:31”,
“评估”:正确,
“隐藏代码”:false
}
];
对于(i=0;iconsole.log(数组)您可以在对象上循环并添加新属性

var数组=[{
“语言”:“蟒蛇1”,
“已创建”:“2018-8-27 14:50:31”,
“评估”:正确,
“隐藏代码”:false
},  {
“语言”:“蟒蛇2”,
“已创建”:“2018-8-27 14:50:31”,
“评估”:正确,
“隐藏代码”:false
}
];
对于(i=0;iconsole.log(数组)您可以使用
Array.prototype.map()
()获取新的索引数组

var数组=[{
“语言”:“蟒蛇1”,
“已创建”:“2018-8-27 14:50:31”,
“评估”:正确,
“隐藏代码”:false
}, {
“语言”:“蟒蛇2”,
“已创建”:“2018-8-27 14:50:31”,
“评估”:正确,
“隐藏代码”:false
}]
const index=array.map((项,索引)=>Object.assign(项,{index}))

console.log(索引)
您可以使用
Array.prototype.map()
()获取新的索引数组

var数组=[{
“语言”:“蟒蛇1”,
“已创建”:“2018-8-27 14:50:31”,
“评估”:正确,
“隐藏代码”:false
}, {
“语言”:“蟒蛇2”,
“已创建”:“2018-8-27 14:50:31”,
“评估”:正确,
“隐藏代码”:false
}]
const index=array.map((项,索引)=>Object.assign(项,{index}))

console.log(索引)
将ID添加到唯一Json键的原因是什么?我看不到ID的使用,因为您可以使用对象键本身访问值。我要做的正是为每个对象指定一个名为“index”的位置,并从0开始使用object.key迭代对象,这对您很有帮助
Object.keys(objectName).forEach((每个,索引)=>{/*您的代码*/})
将ID添加到唯一Json键的原因是什么?我看不到ID的使用,因为您可以使用对象键本身访问值。我要做的正是为每个对象指定一个名为“index”的位置,并从0开始使用object.key迭代对象,这对您很有帮助
Object.keys(objectName).forEach((每个,索引)=>{/*您的代码*/})
我已将其设置到自己的文件中,但它会打印索引号的总数,即每个索引输出为39=>“index”:39each@jennifercryt:你能添加你的代码吗?这样我就可以检查错误了。我已将此设置到我自己的文件中,但它打印索引号的总数,即每个索引输出为39=>“index”:39为each@jennifercryt:您可以添加您的代码,以便我可以检查哪里出了问题
。map
回调函数还接收
index
作为第二个参数,因此不需要额外的
var i
.map
回调函数也会将
索引作为第二个参数接收,因此不需要额外的
var i