【发布时间】:2019-04-18 19:23:35
【问题描述】:
我有以下问题。我有一个代码,如果我把它单独链接 .filters 它可以工作,如果我单独测试代码,但是当我组合它们时,即使值返回 true,它们也不会被返回,所以我想我不是在ifs 内正确应用returns
这行不通
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"
)
);
【问题讨论】:
标签: javascript json filter