我有一个数组和一个变量,我试图建立一个新的数组,然后使用这个新的数组。
我现有的数组和var是这样的
var RColor = '#007cc4';
var stateHTML = {
"US-VA": {"location": "Virginia"},
"US-PA": {"location": "Pennsylvania"},
"US-TN": {"location": "Tennessee"},
"US-WV": {"location": "West Virginia"},
"US-NV": {"location": "Nevada"},
//"US-TX": {"location": "Texas"},
"US-NH": {"location": "New Hampshire"},
"US-NY": {"location": "New York"},
"US-HI": {"location": "Hawaii"},
"US-VT": {"location": "Vermont"},
"US-NM": {"location": "New Mexico"},
"US-ME": {"location": "Maine"},
"US-OH": {"location": "Ohio"},
"US-OK": {"location": "Oklahoma"},
"US-ID": {"location": "Idaho"},
};
我的代码,我试图使用使新的数组是这样的
var activeColors = [];
$.each(stateHTML, function(index, value){
activeColors.push(index + ':' + RColor +',');
});
然后我试图重用这里的新数组
series: {
regions: [{values: {
return:activeColors
},
attribute: 'fill'
}]
},
如果我像这样硬编码区域值,它可以工作
series: {
regions: [{values: {
"US-VA": RColor,
"US-PA": RColor,
"US-TN": RColor,
"US-WV": RColor,
"US-NV": RColor,
},
attribute: 'fill'
}]
},
我怎么能使新的数组基于我的stateHTML和RColor,然后使用像上面那样的新数组工作?
你可以在这里看到完整的示例代码
http://jsfiddle.net/abennington/ymgkkuzL/223/当工作时,它将只对在series:region值中指定的新activeColors数组中指定的状态进行着色。
您不希望activeColors
是一个数组,也不希望将字符串压入其中。您希望它是一个对象,并且您希望在循环中设置每个键/值对。
var activeColors = {};
$.each(stateHTML, function(index, value){
activeColors[index] = RColor;
});
那么你可以用它来代替硬编码的对象。
series: {
regions: [{
values: activeColors,
attribute: 'fill'
}]
}