Dart: проблема с функцией where () для фильтрации списка - PullRequest
0 голосов
/ 05 февраля 2019

У меня проблема с фильтрацией списка по предикату.У меня есть список строк под названием _expenses, где я пытаюсь отфильтровать расходы, которые принадлежат определенным «категориям».Но IDE выдает ошибку в логическом предикате, который гласит: «Избегайте использования ненужных операторов».Также во время компиляции выдается еще одна ошибка, в которой говорится: «flutter: Failed assertion: boolean expression не должно быть нулевым».Что я делаю не так?

 this._expenses.where((Expense e) {
      e.category != 'Deposit' ||  e.category != 'Loan (Inward)/Debt' || e.category != 'Loan(Outward) Settlement';
    }).toList().forEach((Expense e){
      totalExpense += e.amount;
    });

1 Ответ

0 голосов
/ 05 февраля 2019

Лямбда, используемая в качестве аргумента where, ничего не возвращает (отсутствует return).

this._expenses.where((Expense e) {
      return e.category != 'Deposit' ||  e.category != 'Loan (Inward)/Debt' || e.category != 'Loan(Outward) Settlement';
    }).toList().forEach((Expense e){
      totalExpense += e.amount;
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...