jquery 动态创建对象不起作用
jquery create object dynamic not working
我需要输出为
{ 'US-CA': '#084365',
'US-TX': '#084365',
'US-CO': '#00a2e8',
'US-NM': '#00a2e8',
'US-WY': '#00a2e8',
'US-NE': '#00a2e8'
}
为此,我使用了以下代码:
var output = [];
$('.vectordata').find('.varc').each(function(i){
var t = $(this);
regioncode = t.find('.regioncode').val();
color = t.find('.color').val();
var obj2 = {}
obj2[regioncode] = color;
output.push(obj2);
}
但是我收到的输出是
请帮我解决动态对象创建问题
var output = {};
$('.vectordata').find('.varc').each(function(i){
var t = $(this);
regioncode = t.find('.regioncode').val();
color = t.find('.color').val();
output[regioncode] = color;
}
console.log(output);
您正在将 objects
推入 Array
。将 output
作为对象。
你不需要数组只是把它放在对象中
var output = {};
$('.vectordata').find('.varc').each(function(i){
var t = $(this);
regioncode = t.find('.regioncode').val();
color = t.find('.color').val();
output[regioncode] = color;
}
您希望将输出作为 JSON 对象,如下所示:
{ 'US-CA': '#084365',
'US-TX': '#084365',
'US-CO': '#00a2e8',
'US-NM': '#00a2e8',
'US-WY': '#00a2e8',
'US-NE': '#00a2e8'
}
因此,为了达到您的目的,您需要声明一个对象并将值作为 {key:value} 对放入对象中。不需要任何数组来再次存储对象。您可以按照 samuellawrentz 的回答。
我需要输出为
{ 'US-CA': '#084365',
'US-TX': '#084365',
'US-CO': '#00a2e8',
'US-NM': '#00a2e8',
'US-WY': '#00a2e8',
'US-NE': '#00a2e8'
}
为此,我使用了以下代码:
var output = [];
$('.vectordata').find('.varc').each(function(i){
var t = $(this);
regioncode = t.find('.regioncode').val();
color = t.find('.color').val();
var obj2 = {}
obj2[regioncode] = color;
output.push(obj2);
}
但是我收到的输出是
请帮我解决动态对象创建问题
var output = {};
$('.vectordata').find('.varc').each(function(i){
var t = $(this);
regioncode = t.find('.regioncode').val();
color = t.find('.color').val();
output[regioncode] = color;
}
console.log(output);
您正在将 objects
推入 Array
。将 output
作为对象。
你不需要数组只是把它放在对象中
var output = {};
$('.vectordata').find('.varc').each(function(i){
var t = $(this);
regioncode = t.find('.regioncode').val();
color = t.find('.color').val();
output[regioncode] = color;
}
您希望将输出作为 JSON 对象,如下所示:
{ 'US-CA': '#084365',
'US-TX': '#084365',
'US-CO': '#00a2e8',
'US-NM': '#00a2e8',
'US-WY': '#00a2e8',
'US-NE': '#00a2e8'
}
因此,为了达到您的目的,您需要声明一个对象并将值作为 {key:value} 对放入对象中。不需要任何数组来再次存储对象。您可以按照 samuellawrentz 的回答。