Я пытаюсь отфильтровать массив объектов на основе их значения abw, которое является диапазоном. Теперь я могу фильтровать на основе одного выбора диапазона, но, похоже, не могу определить несколько вариантов выбора диапазона. Я пробовал много способов, но они, кажется, перекрывают друг друга. Любая помощь приветствуется.
Также параметры диапазона являются динамическими c, поэтому я не могу использовать stati c, если операторы 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;
});
Ожидаемый результат: [{ name: "dank", abw: 29}, {name: "jank", abw: 5}]