我有一个json数组

var testArr=[{name:"name1",age:20},{name:"name1",age:20},{name:"name1",age:20}]

我如何在testArr中插入项目“Uid”,使其看起来像这样
var testArr=[{name:"name1",age:20,uid:1},{name:"name1",age:20,uid:2},{name:"name1",age:20,uid:3}]

我尝试了以下JS代码,但似乎在最后添加了它
var testArr=[{name:"name1",age:20},{name:"name1",age:20},{name:"name1",age:20}];
var loopCycle = (testArr.length);
for(i=0; i < loopCycle ; i++){
testArr.push({uID:i+1})
}
console.log(testArr)

谢谢

最佳答案

您的问题在这里:

testArr.push({uID:i+1})

对于数组中的每个元素,您都将创建一个新元素({uID:i+1})。您需要访问JSON对象并创建一个新属性。试试这个:
var testArr=[{name:"name1",age:20},{name:"name1",age:20},{name:"name1",age:20}];
var loopCycle = (testArr.length);
for(i=0; i < loopCycle ; i++){
  testArr[i]['uid'] = i+1;
}
console.log(testArr);

如果要使用 Angular 方式进行操作,请尝试以下操作:
angular.forEach(testArr, function (x,idx) { x.uid = idx+1; });

08-28 03:31