我正在使用jVectormap插件。
一开始我要声明一组国家代码currentCodes
。在页面的下方,我正在使用插件的内置“系列”功能,该功能使我可以为某些国家/地区提供不同的默认颜色。在更下方的values: { }
中的series: { }
中,我再次写出了currentCodes
中的每个值,并将它们设置为系列中的1。一切正常。
jQuery.noConflict();
jQuery(function(){
var $ = jQuery;
var currentCodes = ["GG","IE","IM","JE","_22","_25","_23","_24"];
$('#map').vectorMap({
map: 'world_mill_en',
backgroundColor: '#b0e0fb',
……
series: {
regions: [{
scale: ['#008d48'],
normalizeFunction: 'polynomial',
values: {
"GG": 1,
"IE": 1,
"IM": 1,
"JE": 1,
"_22": 1,
"_25": 1,
"_23": 1,
"_24": 1
}
}]
}
……
});
但是我想要的是一种将
currentCodes
数组中的任何值自动设置为1的方法。我知道在这里使用for循环完全是错误的语法,但也许它将证明我需要的是:jQuery.noConflict();
jQuery(function(){
var $ = jQuery;
var currentCodes = ["GG","IE","IM","JE","_22","_25","_23","_24"];
$('#map').vectorMap({
map: 'world_mill_en',
backgroundColor: '#b0e0fb',
……
series: {
regions: [{
scale: ['#008d48'],
normalizeFunction: 'polynomial',
values: {
// set each value in currentCodes array so it is 1
var i;
for (i = 0; i < currentCodes.length; i++) {
currentCodes[i]: 1,
}
}
}]
}
……
});
谢谢,任何帮助将不胜感激。我对对象和属性语法不太有经验,我相信这里使用的是...
最佳答案
尝试这个。
jQuery.noConflict();
jQuery(function(){
var $ = jQuery;
var currentCodes = ["GG","IE","IM","JE","_22","_25","_23","_24"];
var values = {};
jQuery.each(currentCodes, function(idx, value){
values[value] = 1;
})
$('#map').vectorMap({
map: 'world_mill_en',
backgroundColor: '#b0e0fb',
……
series: {
regions: [{
scale: ['#008d48'],
normalizeFunction: 'polynomial',
values: values
}]
}
……
});