Метод removeWhere
Метод removeWhere удаляет из списка все элементы,
для которых переданная функция-предикат возвращает
true. В первый параметр мы передаем функцию,
которая принимает элемент списка и возвращает
bool. Список при этом изменяется напрямую,
а метод ничего не возвращает (возвращает void).
Синтаксис
list.removeWhere(test)
Пример
Давайте удалим из списка все четные числа:
void main()
{
List<int> numbers = [1, 2, 3, 4, 5];
numbers.removeWhere((int number) => number % 2 == 0);
print(numbers);
}
Результат выполнения кода:
[1, 3, 5]
Пример
Давайте удалим все строки длиной меньше трех символов:
void main()
{
List<String> letters = ['a', 'ab', 'abc', 'abcd'];
letters.removeWhere((String item) => item.length < 3);
print(letters);
}
Результат выполнения кода:
[abc, abcd]
Пример
Если ни один элемент не удовлетворяет условию, список остается без изменений:
void main()
{
List<int> numbers = [1, 2, 3, 4, 5];
numbers.removeWhere((int number) => number > 10);
print(numbers);
}
Результат выполнения кода:
[1, 2, 3, 4, 5]
Смотрите также
-
метод
remove,
который удаляет первое вхождение элемента -
метод
removeAt,
который удаляет элемент по индексу -
метод
removeLast,
который удаляет последний элемент -
метод
retainWhere,
который оставляет только элементы по условию