JvectorMap Trim 数据输出
JvectorMap Trim data output
我正在使用 JvectorMap 按州映射运营商以便于编辑 json 数据,如下所示:
{
"states": {
"2015": {
"US-AK": [" Aenta", " Assurant", " ", " ", " ", " ", " "],
"US-AL": [" Aenta", " Assurant", " ", " ", " Goden Rule", " ", " Humana"],
"US-AR": [" Aenta", " Assurant", " ", " ", " ", " ", " "],
"US-AZ": [" Aenta", " ", " ", " ", " Goden Rule", " ", " Humana"],
"US-CA": [" Aenta", " Assurant", " ", " ", " ", " ", " "],
}
}
}
渲染地图的代码是这样的:
$(function(){
$.getJSON('../js/medicalOff.json', function(data){
var val = 2015;
statesValues = jvm.values.apply({}, jvm.values(data.states));
$('#map').vectorMap({
map: 'us_merc_en',
backgroundColor: '#ffffff',
regionStyle: {
initial:{
fill: '#87c9b4',
},
hover:{
fill:'#2e8f70',
},
},
onRegionTipShow: function(e, label, code) {
var str = data.states[val][code];
var trim = str.replace(/(^,)|(,$)/g, "");
label.html('<b>' + label.html() + '</b>' + '<br> ' + trim);
},
});
});
});
在我添加 var str = data.states[val][code]; var trim = str.replace(/(^,)|(,$)/g, "");
之前,数据的结果类似于 Texas: ,,,Assurant,,,Humana
。现在我不太擅长JavaScript,但我对它有一个基本的了解。目前我收到 "Undefined is not a function" 错误。实现这部分的正确方法是什么
var str = data.states[val][code];
var trim = str.replace(/(^,)|(,$)/g, "");
我假设有错误的行是 var trim = str.replace(/(^,)|(,$)/g, "");
。如果我假设正确,那意味着 str
不是字符串,而是其他对象。
在这种情况下,您需要检查"If it's not a string, what is str
?"
一种检查方法是 alert(str)
并查看弹出的内容。将警告行直接放在有错误的行之前。
当然alert(str)
和alert(data.states[val][code])
是一样的。您可以使用 alert(JSON.stringify(data.states[val][code]))
或 alert(JSON.stringify(data.states[val]))
.
寻求帮助
我正在使用 JvectorMap 按州映射运营商以便于编辑 json 数据,如下所示:
{
"states": {
"2015": {
"US-AK": [" Aenta", " Assurant", " ", " ", " ", " ", " "],
"US-AL": [" Aenta", " Assurant", " ", " ", " Goden Rule", " ", " Humana"],
"US-AR": [" Aenta", " Assurant", " ", " ", " ", " ", " "],
"US-AZ": [" Aenta", " ", " ", " ", " Goden Rule", " ", " Humana"],
"US-CA": [" Aenta", " Assurant", " ", " ", " ", " ", " "],
}
}
}
渲染地图的代码是这样的:
$(function(){
$.getJSON('../js/medicalOff.json', function(data){
var val = 2015;
statesValues = jvm.values.apply({}, jvm.values(data.states));
$('#map').vectorMap({
map: 'us_merc_en',
backgroundColor: '#ffffff',
regionStyle: {
initial:{
fill: '#87c9b4',
},
hover:{
fill:'#2e8f70',
},
},
onRegionTipShow: function(e, label, code) {
var str = data.states[val][code];
var trim = str.replace(/(^,)|(,$)/g, "");
label.html('<b>' + label.html() + '</b>' + '<br> ' + trim);
},
});
});
});
在我添加 var str = data.states[val][code]; var trim = str.replace(/(^,)|(,$)/g, "");
之前,数据的结果类似于 Texas: ,,,Assurant,,,Humana
。现在我不太擅长JavaScript,但我对它有一个基本的了解。目前我收到 "Undefined is not a function" 错误。实现这部分的正确方法是什么
var str = data.states[val][code];
var trim = str.replace(/(^,)|(,$)/g, "");
我假设有错误的行是 var trim = str.replace(/(^,)|(,$)/g, "");
。如果我假设正确,那意味着 str
不是字符串,而是其他对象。
在这种情况下,您需要检查"If it's not a string, what is str
?"
一种检查方法是 alert(str)
并查看弹出的内容。将警告行直接放在有错误的行之前。
当然alert(str)
和alert(data.states[val][code])
是一样的。您可以使用 alert(JSON.stringify(data.states[val][code]))
或 alert(JSON.stringify(data.states[val]))
.