我试图将Id推入Json对象数组.每个对象必须有’“JobId”:在插入apiController之前插入值’.我试图使用forEach循环,但我被卡住了.现在不是在数组中的每个对象中插入它而是插入数组的末尾.我有一个plunkr设置.
plunkr
plunkr
$scope.array = [{ ESOURCELINEID:"5464",QBRFQLINESUPPLIERPARTNUMBER:"HW12",QBRFQLINESUPPLIERQUOTEUOM:"ft" },{ ESOURCELINEID:"8569",QBRFQLINESUPPLIERPARTNUMBER:"LT34",QBRFQLINESUPPLIERQUOTEUOM:"Meter" }]; var JobId = 143; $scope.array.forEach(function (newJobItem) { $scope.array.push({'JobId' : JobId}); }); var index = 0; $scope.array.forEach(function (newJobItem) { console.log('newJobItem #' + (index++) + ': ' + JSON.stringify(newJobItem)); });
你正在做的是通过$scope.array.forEach迭代每个项目,但是你实际上并没有修改从回调newJobItem返回的项目,只是推送一个新项目:$scope.array.push({‘ JobId’:JobId});.
原文链接:/angularjs/141619.html你的forEach中的正确行应该是newJobItem.JobId = JobId;.这样你就可以修改$scope.array中的现有条目,而不仅仅是推送新对象.
更明确地说:
$scope.array.forEach(function (newJobItem) { $scope.array.push({'JobId' : JobId}); });
变为:
$scope.array.forEach(function (newJobItem) { newJobItem.JobId = JobId; });