Метод reduce
Метод reduce сворачивает элементы коллекции
в одно значение. Он последовательно применяет
переданную функцию к элементам коллекции,
накапливая результат. В первый параметр
передается функция, которая принимает
текущее накопленное значение и очередной
элемент коллекции. Метод возвращает
итоговое значение. Если коллекция пуста,
метод выбрасывает исключение.
Синтаксис
iterable.reduce(combine)
Пример
Давайте найдем сумму всех чисел списка:
void main()
{
List<int> numbers = [1, 2, 3, 4, 5];
int res = numbers.reduce((a, b) => a + b);
print(res);
}
Результат выполнения кода:
15
Пример
Давайте объединим все строки списка в одну:
void main()
{
List<String> letters = ['a', 'b', 'c', 'd', 'e'];
String res = letters.reduce((a, b) => a + b);
print(res);
}
Результат выполнения кода:
"abcde"
Пример
Давайте найдем максимальное число в списке:
void main()
{
List<int> numbers = [3, 1, 4, 2, 5];
int res = numbers.reduce((a, b) => a > b ? a : b);
print(res);
}
Результат выполнения кода:
5