UNPKG

@monstermann/fn

Version:

A utility library for TypeScript.

31 lines (29 loc) 768 B
import { dfdlT } from "@monstermann/dfdl"; //#region src/array/lastIndexOfOrElse.ts /** * `lastIndexOfOrElse(target, value, orElse)` * * Returns the index of the last occurrence of `value` in `target`. If `value` is not found, calls `orElse` with the original array. * * ```ts * lastIndexOfOrElse([1, 2, 3, 2], 2, () => -1); // 3 * lastIndexOfOrElse([1, 2, 3], 4, (arr) => arr.length); // 3 * ``` * * ```ts * pipe( * [1, 2, 3, 2], * lastIndexOfOrElse(2, () => -1), * ); // 3 * pipe( * [1, 2, 3], * lastIndexOfOrElse(4, (arr) => arr.length), * ); // 3 * ``` */ const lastIndexOfOrElse = dfdlT((target, value, orElse) => { const idx = target.lastIndexOf(value); return idx < 0 ? orElse(target) : idx; }, 3); //#endregion export { lastIndexOfOrElse };