TypeError: this[e][n] is undefined using jvectomap

TypeError: this[e][n] is undefined using jvectomap

我正在使用 jvectormap 并且我想在 select 另一个状态时取消 select 一个状态,但是我有这个错误

TypeError: this[e][n] is undefined.

这是我的代码的一部分:

Selector2 = {
colorBlank : 'white',
selectedColor : '#0D88BC',
oldcode: '',

disable:function(old_code,objMap){
    old_code = String(old_code);
    objMap.setSelectedRegions({old_code:false});
},
select:function(id){
    var mapObj = jQuery('#states-area').vectorMap('get', 'mapObject');
    if(this.oldcode.length != 0){
        _code = this.oldcode;
        this.disable(_code,mapObj);
    }       
    this.oldcode = id;
    stateCode = id;
},

变量id是状态键,在objMap.setSelectedRegions({old_code:false})这一行出现错误。 怎么了?请帮助我。

这一行:

objMap.setSelectedRegions({old_code:false});

此处设置的是名为"old_code"的区域的选择状态,而不是old_code变量中的值命名的区域。以下是一些修复:

// ES6
objMap.setSelectedRegions({[old_code]:false});

// or ES5
var temp = {};
temp[old_code] = false;
objMap.setSelectedRegions(temp);