метод map< T>
- T toElement(
- E e
Текущие элементы этого итерируемого объекта, преобразованные с помощью 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 e)) => MappedIterable<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.19.6/dart-core/Iterable/map.html