Javascript JS将对象推送到变量中,将最后一个对象添加到所有元素中
我正在尝试这个Javascript JS将对象推送到变量中,将最后一个对象添加到所有元素中,javascript,object,push,Javascript,Object,Push,我正在尝试这个 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 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"
但是我希望在arrBasketProds中可以使用coProducts的值。您需要初始化
basketProds=newobject()代码>在每次迭代中
var副产品={
0: {
id:“nsdn”,
变体:“kjdfhnkjsd”,
价格:“sdfd”,
数量:“hbsdjh”
},
1: {
id:“abc”,
变体:“def”,
价格:“ghi”,
数量:“ijk”
}
};
var篮子产品;
var arrBasketProds=[];
var i;
for(i在副产品中){
if(余积hasOwnProperty(i)){
basketProds=new Object();//这将创建一个新对象。
basketProds.ProductID=coProducts[i].id;
basketProds.VariantID=副产品[i]。变量;
basketProds.Price=coProducts[i]。Price;
basketProds.quantity=副产品[i]。数量;
arrBasketProds.push(basketProds);
}
}
页面属性={
货币:“欧元”,
产品:arrBasketProds
}
控制台日志(arrBasketProds)
看起来你的循环没有迭代,你检查过吗?有什么特别的原因吗CopProducts
是一个具有整数属性的对象,而不仅仅是一个数组?