Библиотеки » Основная библиотека (dart:core) » Iterable » expand
функция Iterable::expand
Синтаксис
Передаваемые параметры
Iterable f(E element)Возвращаемое значение
IterableОписание
Метод expand
позволяет получить новую коллекцию (составной объект), в которой значения элементов будут состоять из результатов выполнения пользовательской callback-функции Iterable f(E element)
для каждого элемента исходной коллекции.
В отличии от метода Iterable.map
данный метод может изменять количество элементов в новой коллекции, так как преобразовывает каждый исходный элемент в 0 или несколько новых.
Данный метод использует "ленивую" инициализацию новой коллекции. До тех пор, пока к элементам нового объекта не будет ни одного обращения, пользовательская функция f(E element)
вызываться не будет и новые значения получены не будут. Кроме этого, значения элементов не будут кешироваться, и таким образом повторная итерация по новой коллекции будет приводить к повторному вызову пользовательской callback-функции.
- функция
Iterable f(E element)
может возвращать результаты произвольного типа, а следовательно, тип возвращаемого объекта будетIterable
, а неIterable[E]
.