如何将对象推入循环内的嵌套数组?

how to push object into an nested array within a loop?

我正在使用 angularjs foreach 并希望找到要加载到另一个对象数组中的数据对象。 执行此操作时,似乎我正在添加变量,并且所有添加的对象都更改为最后一个变量值。

   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);
       }
    });

如果找到 2 名员工从事一份工作,他们将被添加,当我在添加第二个对象后观察 wo.doc 对象时,添加的 2 个对象与最后一个对象相同。

在循环中创建一个新对象。

   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);
       }
    });