使用国家代码作为 array/object 名称?范围问题?
using country code as array/object names? scoping issue?
谁能帮我解决这个问题,以加拿大为例:
var CA = {
name: "Canada Name",
iso: "CA",
percentage: "23.4",
color: getColor(23.4)
};
$(function() {
$('#world-map').vectorMap({
map: 'world_mill_en',
.
.
onRegionTipShow: function(event, wrap, code) {
wrap.html('hello ' + code); // working, outputs "hello CA"
console.log(CA.name); // working, outputs "Canada Name"
console.log(code.name); // not working - undefined
},
.
.
如何使用 "code" 来引用变量(在本例中为 CA)?
如我所见,代码输出了一个字符串,但我无法将其转换为有效的形式
感谢
您需要进一步将 CA
对象包装在另一个对象中,如下所示:
var langs = {
CA: {
name: "Canada Name",
iso: "CA",
percentage: "23.4",
color: getColor(23.4)
}
}
然后您可以使用括号表示法访问 langs
的属性。因此,在您的示例中假设 code = 'CA'
:
onRegionTipShow: function(event, wrap, code){
wrap.html('hello ' + code); // = 'hello CA'
console.log(langs[code].name); // = 'Canada Name'
},
谁能帮我解决这个问题,以加拿大为例:
var CA = {
name: "Canada Name",
iso: "CA",
percentage: "23.4",
color: getColor(23.4)
};
$(function() {
$('#world-map').vectorMap({
map: 'world_mill_en',
.
.
onRegionTipShow: function(event, wrap, code) {
wrap.html('hello ' + code); // working, outputs "hello CA"
console.log(CA.name); // working, outputs "Canada Name"
console.log(code.name); // not working - undefined
},
.
.
如何使用 "code" 来引用变量(在本例中为 CA)? 如我所见,代码输出了一个字符串,但我无法将其转换为有效的形式
感谢
您需要进一步将 CA
对象包装在另一个对象中,如下所示:
var langs = {
CA: {
name: "Canada Name",
iso: "CA",
percentage: "23.4",
color: getColor(23.4)
}
}
然后您可以使用括号表示法访问 langs
的属性。因此,在您的示例中假设 code = 'CA'
:
onRegionTipShow: function(event, wrap, code){
wrap.html('hello ' + code); // = 'hello CA'
console.log(langs[code].name); // = 'Canada Name'
},