javascript - 如何将对象推入循环内的嵌套数组中?
问题描述
我正在使用 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);
}
});
推荐阅读
- android - 样式中的布局属性
- java - 如何使用 Selenium Webdriver 访问其 xpath 更改的 WebElement
- node.js - 如何在不注册接收方号码的情况下使用 twilio whatsapp 发送自定义通知?
- sql - 查找数据库中特定字符串的每条记录
- npm - “npm install -g”代表什么?
- c++ - 正在通过 const ref undefined 行为捕获新构造的对象
- svn - 如何将两个文件与提交历史合并?
- arrays - 为什么当我迭代循环时 Swift malloc() ?
- algorithm - 更改随机选择算法对运行时的影响
- apache-kafka - 使用 confluent cp-schema-registry,它是否必须与您用于生产者/消费者的同一个 Kafka 通信?