如何在javascript中向对象数组添加键id

如何在javascript中向对象数组添加键id,javascript,arrays,loops,object,Javascript,Arrays,Loops,Object,我有一个对象数组,需要在javascript中添加id function addKey(obj){ return obj.map(e=>({...e, id:index}) } var obj=[ {name: "s1"}, {name: "s2"} ] Expected Output [ {name: "s1", id:0 }, {name: "s2", id:1 } ] 您可以通

我有一个对象数组,需要在javascript中添加
id

function addKey(obj){
 return obj.map(e=>({...e, id:index})
}

var obj=[
  {name: "s1"},
  {name: "s2"}
]


Expected Output

[
  {name: "s1", id:0 },
  {name: "s2", id:1 }
]

您可以通过添加
Array.prototype.map
回调的索引来添加
id
属性

const obj=[
{name:“s1”},
{name:“s2”}
]

log(obj.map((item,id)=>({…item,id}))使用object.assign您可以添加密钥

 var obj = [{
     name: 's1'
 }, {
  name: 's2'
  }];

 var result = obj.map(function(el,index) {
 var o = Object.assign({}, el);
 o.id = index;
 return o;
})

console.log(result);

OP已经在使用扩展语法时,为什么要使用
Object.assign
?e、 g.
{…e,id:index}