读取数据D3时删除行

by0*_*by0 5 javascript csv d3.js

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

row,col,value
1,1,2
1,2,3
1,3,NA
Run Code Online (Sandbox Code Playgroud)

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

d3.csv("sample.csv", function(data) {
    data.forEach(function(d) {
    d.value = +d.value;
});
Run Code Online (Sandbox Code Playgroud)

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

谢谢!

Jas*_*att 7

您可以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;
    });
});
Run Code Online (Sandbox Code Playgroud)

这假设您的数字都是基数为10的整数.