动态更新数据映射填充颜色无法使用变量作为国家键

Dynamically updating datamaps fill color not working using variable as country key

我在使用 updateCloropleth 函数时遇到奇怪的问题。我按照这个例子:

https://github.com/markmarkoh/datamaps/releases/tag/v0.2.2

这是我的问题的一个例子。当我这样做时:

map.updateChoropleth({
    "AFG": colorx
});

颜色更新。但是,当我这样做时:

var countryx = "AFG";
map.updateChoropleth({
    countryx: colorx
});

没用。

我检查过 countryx == "AFG" returns true,所以它绝对是相同的值。变量 colorx 可以正常传递,但是将变量 countryx 作为键传递似乎会破坏函数。

知道这是怎么发生的或为什么会发生吗?

你可以试试这个:

var colorx = 100;
var countryx = "AFG";
var countryColor = {};

countryColor["AFG"] = colorx;

map.updateChoropleth(countryColor);

看到这个 thread - 基本上你的问题源于这两个陈述是相同的事实:

var obj = {"countryx": colorx}
var obj = {countryx: colorx}