Spec-Zone.ru › Dart 2

dart:core

Метод fold<T>

T fold<T>(
  1. T initialValue,
  2. T combine(
    1. T previousValue,
    2. 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.18.5/dart-core/Iterable/fold.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API