我正在尝试将对象添加到另一个对象中。
我以前的帖子帮助我解决了阵列问题,但我也需要将对象添加到对象中。
我有类似
的东西var temp = {};
for(var i=0; i<test.length; i++){
console.log(test[i])
console.log(product[i])
temp.test[i] =product[i];
}
两个console.log都显示值。但是,我正在
"Uncaught TypeError: Cannot set property '0' of undefined"
的 temp.test[i] =product[i]
有人可以帮我解决这个问题吗?非常感谢
答案 0 :(得分:3)
var temp = {test:[], product:[]};
var test = ['a','v'];
var product = ['a2','v2'];
for(var i=0; i<test.length; i++){
console.log(test[i])
console.log(product[i])
temp.test.push(product[i]);
}
您需要先定义属性测试和产品,然后再推送数据。
但是,您不必循环插入每个值。您可以一次性设置整个集合。
var testCollection = ['Value 1', 'Value 2'];
var productCollection = ['Value 10', 'Value 20'];
var temp = {
test:testCollection
, product:productCollection
};
答案 1 :(得分:0)
var temp = {test:[]};
var test = ['a','b','c'];
var product = ['d','e'];
for(var i=0; i<test.length; i++){
console.log(test[i])
console.log(product[i])
if (i < product.length) {
temp.test.push(product[i]);
} else {
temp.test.push(test[i]);
}
}
但话说回来,我可能会过度思考这个问题,答案很简单:
var temp = {
test: product
};