UNPKG

@monstermann/fn

Version:

A utility library for TypeScript.

31 lines (29 loc) 633 B
import { dfdlT } from "@monstermann/dfdl"; //#region src/array/meanOrElse.ts /** * `meanOrElse(array, orElse)` * * Returns the mean (average) value from `array`, or calls `orElse` if the array is empty. * * ```ts * meanOrElse([1, 2, 3], () => 0); // 2 * meanOrElse([], () => 0); // 0 * ``` * * ```ts * pipe( * [1, 2, 3], * meanOrElse(() => 0), * ); // 2 * pipe( * [], * meanOrElse(() => 0), * ); // 0 * ``` */ const meanOrElse = dfdlT((target, orElse) => { if (target.length === 0) return orElse(target); return target.reduce((acc, val) => acc + val, 0) / target.length; }, 2); //#endregion export { meanOrElse };