Фильтр проблем и использование Object.entries - PullRequest
1 голос
/ 18 апреля 2019

У меня следующая проблема.У меня есть код, который, если я помещу его отдельно в цепочку .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"
        )
      );

1 Ответ

2 голосов
/ 18 апреля 2019

Вам нужно return

const FILTERED_DATA = this.filteredProjects
        .filter(o => {
            return Object.entries(FORM_VALUES)
//          ^^^^^^

и опустить возврат true в конце.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...