5

假设我有一个示例文件 sample.csv:

row,col,value
1,1,2
1,2,3
1,3,NA

在 d3 中读取数据时,您可以执行以下操作:

d3.csv("sample.csv", function(data) {
    data.forEach(function(d) {
    d.value = +d.value;
});

但是,对于 NA 值,+d.value 将返回 NaN。如何从我的数据中排除 NaN 值。即读取数据,并且只取具有数字值的行

谢谢!

4

1 回答 1

8

您可以isNaN在尝试添加数据之前调用数据:

d3.csv('sample.csv', function(data) {
    data = data.filter(function(d){
        if(isNaN(d.value)){
            return false;
        }
        d.value = parseInt(d.value, 10);
        return true;
    });
});

这假设您的数字都是以 10 为底的整数。

于 2012-10-16T19:44:55.940 回答