我想将数据推送到Javascript对象中,但是我做不到。
var obj = {};
if(cust_opt_title == "Size"){
obj['Size'] = {'custom_option_select_text': 'Red + $200.00'};
obj['Size'].push({'custom_option_select_text': 'Red + $200.00'}); // I tried this also
} else {
obj['Color'] = {'custom_option_select_text': 'Red + $200.00'};
obj['Color'].push({'custom_option_select_text': 'Red + $200.00'}); // I tried this also
}
我想要这样的输出:
答案 0 :(得分:3)
您需要先创建一个数组(如果不存在),然后再推入一个值。
Array#push
是Array
的一种方法。
var obj = {},
cust_opt_title = 'Size';
if (cust_opt_title === "Size") {
obj['Size'] = obj['Size'] || [];
obj['Size'].push({ custom_option_select_text: 'Red + $200.00' });
} else {
obj['Color'] = { custom_option_select_text: 'Red + $200.00' };
}
console.log(obj);
答案 1 :(得分:1)
obj ['size']不是数组,因此您不能将其压入(只能压入数组)。我看到您想将多个对象放入对象属性中,并且我认为您希望它们成为数组,即使它们保持为空。因此您需要先将它们定义为数组。
var obj = {
'Size': [],
'Color': []
};
if(cust_opt_title === "Size"){
obj['Size'].push({'custom_option_select_text': 'Red + $200.00'});
} else {
obj['Color'].push({'custom_option_select_text': 'Red + $200.00'});
}
顺便说一句,我说“我认为你想要...”的事实意味着您的问题还不够清楚。