Javascript 如何将对象推入循环中的嵌套数组中?
我正在使用angularjs foreach,希望找到要加载到另一个对象数组中的数据对象。 执行此操作时,似乎我正在添加变量,所有添加的对象都会更改为最后一个变量值Javascript 如何将对象推入循环中的嵌套数组中?,javascript,arrays,angularjs,foreach,Javascript,Arrays,Angularjs,Foreach,我正在使用angularjs foreach,希望找到要加载到另一个对象数组中的数据对象。 执行此操作时,似乎我正在添加变量,所有添加的对象都会更改为最后一个变量值 var p = {}; angular.forEach(d, function(personnel, index){ if(wo.doc.job === personnel.job){ p["EmployeeID"] = personnel.EmployeeID;
var p = {};
angular.forEach(d, function(personnel, index){
if(wo.doc.job === personnel.job){
p["EmployeeID"] = personnel.EmployeeID;
p["Number"] = personnel.Number;
wo.doc.personnel.push(p);
console.log(personnel);
}
});
如果发现一个作业有两名员工,则会添加他们,当我在添加第二个对象后观察wo.doc对象时,添加的两个对象与最后一个对象相同。在循环中创建一个新对象
angular.forEach(d, function(personnel, index){
if(wo.doc.WorkOrderDetailID === personnel.PrimeWorkOrderNum){
var p = {EmployeeID: personnel.EmployeeID, Number: personnel.Number};
wo.doc.personnel.push(p);
}
});
谢谢,为什么工作方式不同呢?在原始代码中,您只创建了一个对象。在这里,每次迭代创建一个对象。每次迭代都需要一个对象。是的,谢谢你,谢谢你