map< T> метод
- T toElement(
- E element
Текущие элементы этого перечислимого объекта, изменённые с помощью toElement.
Возвращает новый ленивый Iterable с элементами, созданными путём вызова toElement для каждого элемента этого Iterable в порядке итерации.
Возвращаемый перечислимый объект является ленивым, поэтому он не будет итерировать элементы этого перечислимого объекта до тех пор, пока сам не будет итерироваться, а затем он будет применять toElement для создания одного элемента за раз. Преобразованные элементы не кэшируются. Многократная итерация по возвращаемому Iterable вызовет предоставленную функцию toElement один раз на каждый элемент при каждой итерации.
Методы возвращаемого перечислимого объекта могут пропускать вызов toElement для любого элемента, результат которого не требуется. Например, elementAt может вызвать toElement только один раз.
Эквивалентно:
Iterable<T> map<T>(T toElement(E e)) sync* {
for (var value in this) {
yield toElement(value);
}
}
Пример:
var products = jsonDecode('''
[
{"name": "Screwdriver", "price": 42.00},
{"name": "Wingnut", "price": 0.50}
]
''');
var values = products.map((product) => product['price'] as double);
var totalPrice = values.fold(0.0, (a, b) => a + b); // 42.5.
Реализация
Iterable<T> map<T>(T toElement(E element)) =>
MappedListIterable<E, T>(this, toElement);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-collection/ListQueue/map.html