Skip to main content
Deno 2 is finally here 🎉️
Learn more
Go to Latest
The Standard Library has been moved to JSR. See the blog post for details.
function runningReduce
import { runningReduce } from "https://deno.land/std@0.194.0/collections/mod.ts";

Calls the given reducer on each element of the given collection, passing its result as the accumulator to the next respective call, starting with the given initialValue. Returns all intermediate accumulator results.

Examples

Example 1

import { runningReduce } from "https://deno.land/std@0.194.0/collections/running_reduce.ts";
import { assertEquals } from "https://deno.land/std@0.194.0/testing/asserts.ts";

const numbers = [1, 2, 3, 4, 5];
const sumSteps = runningReduce(numbers, (sum, current) => sum + current, 0);

assertEquals(sumSteps, [1, 3, 6, 10, 15]);

Parameters

array: readonly T[]
reducer: (
accumulator: O,
current: T,
currentIndex: number,
) => O
initialValue: O