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

Метод expand

Метод expand класса Iterable преобразует каждый элемент исходной коллекции в другую коллекцию (или последовательность) и объединяет все полученные коллекции в одну плоскую последовательность. В первый параметр мы передаем функцию-преобразователь, которая принимает текущий элемент и возвращает новую коллекцию. Метод возвращает новый объект Iterable, элементы которого являются результатом объединения всех вложенных коллекций в порядке их следования.

Синтаксис

iterable.expand(convert)

Пример

Давайте преобразуем каждое число в список из двух чисел и объединим результаты в одну плоскую последовательность:

void main() { Iterable<int> nums = [1, 2, 3]; Iterable<int> res = nums.expand((num) => [num, num * 10]); print(res.toList()); }

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

[1, 10, 2, 20, 3, 30]

Пример

Давайте разобьем каждую строку на отдельные символы и получим общую последовательность символов:

void main() { Iterable<String> words = ['abcde', '12345']; Iterable<String> res = words.expand((word) => word.split('')); print(res.toList()); }

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

[a, b, c, d, e, 1, 2, 3, 4, 5]

Пример

Давайте отфильтруем пустые вложенные коллекции, чтобы в итоговой последовательности остались только нужные элементы:

void main() { Iterable<int> nums = [1, 2, 3, 4, 5]; Iterable<int> res = nums.expand((num) => num % 2 == 0 ? [num] : []); print(res.toList()); }

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

[2, 4]

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

  • класс Iterable,
    который представляет коллекцию элементов
  • метод map,
    который преобразует каждый элемент коллекции
  • метод where,
    который фильтрует элементы коллекции
  • метод toList,
    который преобразует коллекцию в список
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить