如何检查值是否在d3比例尺范围内

时间:2020-09-09 14:44:20

标签: javascript d3.js

我使用d3's scaleLinear。我想过滤超出比例范围的值。

var arr = [0, 1, 15, 60, 700];

var scaleX = d3.scaleLinear()
    .domain([10, 100])
    .range([0, 200]);

// I need something like this:
scaleX.filter(arr)  // I want to get: [1, 15, 60]

我最好的解决方案是将所有值都列出来,并检查域的min / max小于/大于给定值。 Like this.

还有更紧凑的解决方案吗?

2 个答案:

答案 0 :(得分:0)

var filteredArr = arr.filter(function(d) { 
    return d >= scaleX.domain()[0] && d <= scaleX.domain()[1]
})

答案 1 :(得分:0)

将过滤器方法应用于arr变量:

const filteredArray = arr.filter(function (value) { return ((value >= 10) && (value <= 100)) });

filteredArray仅包含10到100(含)之间的值。

您可以详细了解.filter方法here

相关问题