动态更新数据映射使用变量作为国家/地区密钥

时间:2016-11-04 13:13:48

标签: javascript d3.js datamaps

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

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

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

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

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

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

它不起作用。

我已检查countryx == "AFG"是否返回true,因此它的值绝对相同。变量colorx可以很好地传递,但是将变量countryx作为键传递似乎会破坏函数。

任何想法如何或为何发生这种情况?

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

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

countryColor["AFG"] = colorx;

map.updateChoropleth(countryColor);

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

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