11 lines
286 B
TypeScript
11 lines
286 B
TypeScript
import {error} from "../util/error";
|
|
|
|
export function reduce<T>(value: T[], accumulate: (acc: T, it: T) => T): T {
|
|
if (value.length === 0) error();
|
|
let acc = value[0];
|
|
for (let i = 1; i < value.length; i++) {
|
|
acc = accumulate(acc, value[i]);
|
|
}
|
|
return acc;
|
|
}
|