метод fold< T>
- T initialValue,
- T combine(
- T previousValue,
- E element
Сводит коллекцию к одному значению, последовательно объединяя каждый её элемент с текущим значением
Использует initialValue в качестве начального значения, затем перебирает элементы и обновляет значение с каждым элементом с помощью функции combine, как если бы это было выполнено так:
var value = initialValue;
for (E element in this) {
value = combine(value, element);
}
return value; Пример вычисления суммы итерируемой коллекции:
final numbers = <double>[10, 2, 5, 0.5];
const initialValue = 100.0;
final result = numbers.fold<double>(
initialValue, (previousValue, element) => previousValue + element);
print(result); // 117.5 Реализация
T fold<T>(T initialValue, T combine(T previousValue, E element)) {
var value = initialValue;
for (E element in this) value = combine(value, element);
return value;
}
© 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/fold.html