Spec-Zone.ru › Dart 1

dart:collection

метод reduce

E reduce(E combine(E value, E element))

Приводит коллекцию к одному значению, итеративно комбинируя элементы коллекции с использованием предоставленной функции.

Итерируемый объект должен содержать по крайней мере один элемент. Если он содержит только один элемент, возвращается этот элемент.

В противном случае этот метод начинает с первого элемента из итератора, а затем комбинирует его со всеми оставшимися элементами в порядке итерации, как если бы:

E value = iterable.first;
iterable.skip(1).forEach((element) {
  value = combine(value, element);
});
return value;

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

iterable.reduce((value, element) => value + element);

Исходный код

E reduce(E combine(E value, E element)) {
  Iterator<E> iterator = this.iterator;
  if (!iterator.moveNext()) {
    throw IterableElementError.noElement();
  }
  E value = iterator.current;
  while (iterator.moveNext()) {
    value = combine(value, iterator.current);
  }
  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/IterableMixin/reduce.html

Spec-Zone.ru

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