3

我正在使用 D3 创建散点图。图表的输入 JSON 将数据存储在引号内,使它们成为字符串,而我需要整数或数字格式。

这就是我得到的,

var data = [{“collision_with_injury”:“2500”,“dist_between_fail”:“12000”}]

这是我需要的

var data = [{collision_with_injury: 2500, dist_between_fail: 12000}]

D3 或 Jquery 中是否有将数据对象转换为不带引号的函数?

4

2 回答 2

4
data.forEach(function(d){
  d.collision_with_injury = +d.collision_with_injury;
  d.dist_between_fail = +d.dist_between_fail;
});

如果对象中有更多属性需要转换为数字,您可以使用d3.keys()对其进行迭代。

于 2013-09-05T01:16:21.847 回答
0

看看这个小提琴

var data = [{"collision with injury": "2500", "dist_between_fail": "12AS00"}];
var dataLength = data.length;
if(dataLength>0)
{
    var keys = d3.keys(data[0]);
    var keyLength = keys.length;
    for(var i = 0; i < dataLength; i++)
    {
        var datum = data[i];
        for(var j = 0; j < keys.length; j++)
        {
            var key = keys[j];
            if(!isNaN(datum[key])) datum[key]=+datum[key];
        }
    }
}
于 2013-09-05T03:21:09.970 回答