РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
313 of 723 menu

Метод removeWhere

Метод removeWhere удаляет из Map все элементы, для которых переданная функция-предикат возвращает true. Сама Map при этом изменяется. В параметр метода мы передаем функцию, которая принимает ключ и значение текущего элемента, а возвращает логическое значение: если функция вернет true, элемент будет удален, если false - останется в Map.

Метод не возвращает значения, он просто изменяет исходную Map.

Синтаксис

map.removeWhere((key, value) => condition)

Пример

Давайте удалим из Map все элементы, значения которых меньше 3:

void main() { Map<String, int> map = { 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5 }; map.removeWhere((key, value) => value < 3); print(map); }

Результат выполнения кода:

{c: 3, d: 4, e: 5}

Пример

Давайте удалим из Map все элементы, ключи которых начинаются с буквы 'a':

void main() { Map<String, int> map = { 'abcde': 1, 'abc': 2, 'ab': 3, 'bcd': 4, 'cde': 5 }; map.removeWhere((key, value) => key.startsWith('a')); print(map); }

Результат выполнения кода:

{bcd: 4, cde: 5}

Пример

Давайте удалим из Map все элементы, у которых одновременно значение четное и ключ начинается с буквы 'a':

void main() { Map<String, int> map = { 'abcde': 1, 'abc': 2, 'ab': 3, 'bcd': 4, 'cde': 6 }; map.removeWhere((key, value) => key.startsWith('a') && value % 2 == 0 ); print(map); }

Результат выполнения кода:

{abcde: 1, ab: 3, bcd: 4, cde: 6}

Смотрите также

  • метод remove,
    который удаляет элемент по ключу
  • метод clear,
    который удаляет все элементы Map
  • метод containsKey,
    который проверяет наличие ключа
  • метод forEach,
    который перебирает элементы Map
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить