Spec-Zone.ru › Dart 1

dart:collection

fold метод

T 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;

Пример расчета суммы итерируемого объекта:

iterable.fold(0, (prev, element) => prev + element);

Исходный код

T fold<T>(T initialValue, T combine(T previousValue, E element)) {
  var value = initialValue;
  int length = this.length;
  for (int i = 0; i < length; i++) {
    value = combine(value, elementAt(i));
    if (length != this.length) {
      throw new ConcurrentModificationError(this);
    }
  }
  return value;
}

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-collection/ListQueue/fold.html

Spec-Zone.ru

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