Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 过滤出多维数据_Javascript_D3.js - Fatal编程技术网

Javascript 过滤出多维数据

Javascript 过滤出多维数据,javascript,d3.js,Javascript,D3.js,我有一个TestF.csv文件,其中包含以下行 id,D1,D2,D3,D4,D5,D6,D7 1,9.44,9.32,8.52,7.52,8.19,10.07,10.86 2,-1.89,-4.41,-3.06,3.65,5.95,9.07,10.99 3,9.36,7.51,7.68,7.33,6.7,8.84,45.31 4,6.36,6.51,7.8,8.53,7.7,8.9,35.0 我想过滤掉这些行,其中D1到D7的值在特定范围内。 例如,对于5

我有一个TestF.csv文件,其中包含以下行

id,D1,D2,D3,D4,D5,D6,D7
1,9.44,9.32,8.52,7.52,8.19,10.07,10.86
2,-1.89,-4.41,-3.06,3.65,5.95,9.07,10.99
3,9.36,7.51,7.68,7.33,6.7,8.84,45.31
4,6.36,6.51,7.8,8.53,7.7,8.9,35.0
我想过滤掉这些行,其中D1到D7的值在特定范围内。 例如,对于5<值<40,代码返回的行为

id,D1,D2,D3,D4,D5,D6,D7
1,9.44,9.32,8.52,7.52,8.19,10.07,10.86
4,6.36,6.51,7.8,8.53,7.7,8.9,35.0
我编写的以下代码可以工作,但它只检查D1的值是否在范围内,而不检查其他值

queue()
     .defer(d3.csv,"data/TestF.csv")
    .await(ready);

    test.forEach(function(d) {
    for (var i = 0, n = 8, c; i < n; ++i) {
        d[c = columns[i]] = +d[c];
    }
    });

    testFiltered = test.filter(function(d) {
    for (var i = 1, n = 8, c; i < n; ++i) {
        return (d[c = columns[i]] >= 5 && d[c = columns[i]] <= 40);
    }
})
queue()
.defer(d3.csv,“data/TestF.csv”)
.等待(准备好);
测试forEach(功能(d){
对于(变量i=0,n=8,c;ireturn(d[c=columns[i]>=5&&d[c=columns[i]]使用行转换函数(在您的例子中,在包含
d3.csv
defer
方法中)。它可以是这样的:

const row = (d, _, columns) => columns.slice(1).every(e => d[e] > 5 && d[e] < 40) ? d : null;

使用行转换函数(在您的情况下,在包含
d3.csv
defer
方法中)。它可以是这样的:

const row = (d, _, columns) => columns.slice(1).every(e => d[e] > 5 && d[e] < 40) ? d : null;

谢谢您的回复。代码是否也检查了第一列中的值?我不清楚-'除了第一列(第(1)部分)“。我将测试它,然后让您知道。很抱歉,我无法使用它。我正在寻找在读取csv文件后而不是在读取文件时创建数据子集。感谢您的回复。代码是否也检查第一列中的值?我不清楚-”除了第一列(切片(1))“。我将测试它,然后让您知道。很抱歉,我无法使用它。我正在寻找在读取csv文件后而不是在读取该文件时创建数据子集。”。