JS将对象推送到变量,将最后一个对象添加到所有元素中
JS pushing object to a variable add the last object to all the elements
我正在尝试这个,
var coProducts = {0:{id:"nsdn",variant:"kjdfhnkjsd",price:"sdfd",quantity:"hbsdjh"},
1:{id:"abc",variant:"def",price:"ghi",quantity:"ijk"}};
var basketProds = new Object();
var arrBasketProds = [];
var i;
for(i in coProducts) {
if (coProducts.hasOwnProperty(i)) {
basketProds.ProductID = coProducts[i].id;
basketProds.VariantID = coProducts[i].variant;
basketProds.Price = coProducts[i].price;
basketProds.quantity = coProducts[i].quantity;
arrBasketProds.push(basketProds);
}
}
pageProperties = {
Currency: "EUR",
Products: arrBasketProds
}
现在 arrBasketProds:给我以下结果
Currency: "EUR"
Products: Array[2]
0: Object
Price: "abc"
ProductID: "def"
VariantID: "ghi"
quantity: "ijk"
1: Object
Price: "abc"
ProductID: "def"
VariantID: "ghi"
quantity: "ijk"
但我希望coProducts的价值都可以在arrBasketProds中找到。
您需要
在每次迭代中初始化basketProds = new Object();
。
var coProducts = {
0: {
id: "nsdn",
variant: "kjdfhnkjsd",
price: "sdfd",
quantity: "hbsdjh"
},
1: {
id: "abc",
variant: "def",
price: "ghi",
quantity: "ijk"
}
};
var basketProds;
var arrBasketProds = [];
var i;
for (i in coProducts) {
if (coProducts.hasOwnProperty(i)) {
basketProds = new Object(); // This creates a new object.
basketProds.ProductID = coProducts[i].id;
basketProds.VariantID = coProducts[i].variant;
basketProds.Price = coProducts[i].price;
basketProds.quantity = coProducts[i].quantity;
arrBasketProds.push(basketProds);
}
}
pageProperties = {
Currency: "EUR",
Products: arrBasketProds
}
console.log(arrBasketProds);
相关文章:
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 如何使用jquery遍历具有动态添加元素的数组
- jQuery appendTo 替换元素而不是添加元素,如果正在添加的元素预先存在于列表中
- 如何使用jquery添加元素
- 动态添加元素上的 HammerJS
- CSS没有'使用javascript向页面动态添加元素时无法工作
- 使用Javascript在DOM元素中添加元素
- 在添加元素时激发JS事件
- 什么's是在IE8+中添加元素的最有效方法
- d3.js在添加元素时协调
- 使用路由器链接动态添加元素
- 动态添加元素
- 在页面内容完全加载后,使用jQuery在DOM中添加元素
- j查询绑定单击不添加元素
- 在循环 jQuery 上添加元素
- 从一个页面调用 javascript 函数以在第二个页面上添加元素
- 页面加载后向<正文>添加元素时出现问题
- 动态添加元素时刷新 HTML
- 动态添加元素时不触发 JQuery 事件
- 如何使用 JavaScript 获取动态添加元素的宽度