Javascript 多选项范围过滤器

Javascript 多选项范围过滤器,javascript,arrays,filter,Javascript,Arrays,Filter,我试图根据对象的abw值(范围)过滤对象数组。现在我可以根据一个范围选择进行筛选,但似乎无法确定是否有多个范围选择。我尝试了很多方法,但它们似乎相互超越。谢谢你的帮助 而且范围选项是动态的,所以我不能使用静态if-else语句 var selectedABW = [ [0, 5], [5, 10], [10,20], [20, 30] ] //dynamic data var p2 = [{name: "dank", abw: 29}, {name: "jank", abw: 5}, {name

我试图根据对象的abw值(范围)过滤对象数组。现在我可以根据一个范围选择进行筛选,但似乎无法确定是否有多个范围选择。我尝试了很多方法,但它们似乎相互超越。谢谢你的帮助

而且范围选项是动态的,所以我不能使用静态if-else语句

var selectedABW = [ [0, 5], [5, 10], [10,20], [20, 30] ] //dynamic data
var p2 = [{name: "dank", abw: 29}, {name: "jank", abw: 5}, {name: "bank", abw: 1000}]

 p2.filter(({ abw }) => {
       for (var item of this.selectedABW) {
          const range = this.getValuesFromABW(item);
            if (!(abw >= range[0] && abw <= range[1])) {
              return false;
            }
       }
       return true;
    });
var selectedABW=[[0,5]、[5,10]、[10,20]、[20,30]//动态数据
变量p2=[{name:“dank”,abw:29},{name:“jank”,abw:5},{name:“bank”,abw:1000}]
p2.过滤器({abw})=>{
for(此.selectedABW的变量项){
常量范围=此.getValuesFromABW(项目);

如果(!(abw>=范围[0]&&abw使用
。一些
测试以查看
selectedABW
中的任何项目是否满足对象的
abw
属性的条件:

var selectedABW=[[0,5]、[5,10]、[10,20]、[20,30]]
变量p2=[{name:“dank”,abw:29},{name:“jank”,abw:5},{name:“bank”,abw:1000}]
const result=p2.filter(
({abw})=>selectedABW.some(

([low,high])=>abw>=low&&abw使用
。一些
测试以查看
selectedABW
中的任何项目是否满足对象的
abw
属性的条件:

var selectedABW=[[0,5]、[5,10]、[10,20]、[20,30]]
变量p2=[{name:“dank”,abw:29},{name:“jank”,abw:5},{name:“bank”,abw:1000}]
const result=p2.filter(
({abw})=>selectedABW.some(

([low,high])=>abw>=low&&abw谢谢它工作得很好。我不知道数组中存在这样的方法。谢谢它工作得很好。我不知道数组中存在这样的方法。