метод map< T>
- T f(
- String e
Текущие элементы этого iterable, изменённые с помощью toElement.
Возвращает новый ленивый Iterable с элементами, которые создаются вызовом toElement для каждого элемента этого Iterable в порядке итерации.
Возвращённый iterable является ленивым, поэтому он не будет перебирать элементы этого iterable, пока сам не будет перебран, после чего будет применять toElement для создания элементов по одному. Преобразованные элементы не кэшируются. При многократной итерации по возвращённому Iterable предоставленная функция toElement будет вызываться один раз для каждого элемента при каждой итерации.
Методы возвращённого iterable могут не вызывать 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 f(String e)) => readClasses().map<T>(f);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-svg/AttributeClassSet/map.html