Метод retainWhere
Метод retainWhere удаляет из списка все элементы, которые не удовлетворяют заданному условию. В параметр метода мы передаем функцию-предикат, которая принимает элемент списка и возвращает true, если элемент нужно оставить, или false, если элемент нужно удалить. Метод изменяет исходный список и ничего не возвращает.
Синтаксис
list.retainWhere(bool test(E element))
Пример
Давайте оставим в списке только четные числа:
void main()
{
List<int> numbers = [1, 2, 3, 4, 5, 6];
numbers.retainWhere((int element) => element % 2 == 0);
print(numbers);
}
Результат выполнения кода:
[2, 4, 6]
Пример
Давайте оставим в списке только строки, которые начинаются с буквы 'a':
void main()
{
List<String> letters = ['abcde', 'bcdef', 'acdef', 'cdefg'];
letters.retainWhere((String element) => element.startsWith('a'));
print(letters);
}
Результат выполнения кода:
[abcde, acdef]
Смотрите также
-
метод
removeWhere,
который удаляет элементы по условию -
метод
remove,
который удаляет первый элемент по значению -
метод
removeAt,
который удаляет элемент по индексу -
метод
clear,
который удаляет все элементы списка