У меня следующая проблема.У меня есть код, который, если я помещу его отдельно в цепочку .filters
, это работает, также, если я тестирую код отдельно, но когда я объединяю их, даже когда значения возвращают true, они не возвращаются, поэтому я думаю, что нетПравильное применение returns
внутри ifs
ЭТО НЕ РАБОТАЕТ
const FILTERED_DATA = this.filteredProjects.filter(o => {
Object.entries(FORM_VALUES).every(([k, v]) => {
if (isDate(sC) || isDate(eC)) {
if (this.dateRangeValidator(sC, eC, o.created)) {
return v === "" || o[k] === v || v === 0 || v === "Invalid Date";
}
} else if (isDate(sM) || isDate(eM)) {
if (this.dateRangeValidator(sM, eM, o.modified)) {
return v === "" || o[k] === v || v === 0 || v === "Invalid Date";
}
} else {
return true;
}
});
});
РАБОТАЕТ
const FILTERED_DATA = this.filteredProjects
.filter(o => {
if (isDate(sC) || isDate(eC)) {
return this.dateRangeValidator(sC, eC, o.created);
} else if (isDate(sM) || isDate(eM)) {
return this.dateRangeValidator(sM, eM, o.modified);
} else {
return true;
}
})
.filter(o =>
Object.entries(FORM_VALUES).every(
([k, v]) => v === "" || o[k] === v || v === 0 || v === "Invalid Date"
)
);