Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 1x 2x 3x | import { reduce } from "./reduce";
/**
* Sums all {@link number}s of an {@link Iterable}.
*
* @example
* ```ts
* const result = sum([1,2,3]);
* console.log(result); // 6
* ```
*
* @see {@link avg} and {@link reduce} for similar operations.
*
* @param iterable - the {@link Iterable} to sum
* @returns the sum of all {@link number}s, or `undefined` if {@link Iterable} was empty
*/
export const sum = reduce<number, number | undefined>(
(acc, val) => (acc ?? 0) + val,
undefined
);
|