我正在使用 D3 创建散点图。图表的输入 JSON 将数据存储在引号内,使它们成为字符串,而我需要整数或数字格式。
这就是我得到的,
var data = [{“collision_with_injury”:“2500”,“dist_between_fail”:“12000”}]
这是我需要的
var data = [{collision_with_injury: 2500, dist_between_fail: 12000}]
D3 或 Jquery 中是否有将数据对象转换为不带引号的函数?
data.forEach(function(d){
d.collision_with_injury = +d.collision_with_injury;
d.dist_between_fail = +d.dist_between_fail;
});
如果对象中有更多属性需要转换为数字,您可以使用d3.keys()对其进行迭代。
看看这个小提琴。
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];
}
}
}