@monstermann/fn
Version:
A utility library for TypeScript.
25 lines (23 loc) • 612 B
JavaScript
import { dfdlT } from "@monstermann/dfdl";
//#region src/array/lastIndexOfOr.ts
/**
* `lastIndexOfOr(target, value, or)`
*
* Returns the index of the last occurrence of `value` in `target`. If `value` is not found, returns `or`.
*
* ```ts
* lastIndexOfOr([1, 2, 3, 2], 2, -1); // 3
* lastIndexOfOr([1, 2, 3], 4, -1); // -1
* ```
*
* ```ts
* pipe([1, 2, 3, 2], lastIndexOfOr(2, -1)); // 3
* pipe([1, 2, 3], lastIndexOfOr(4, -1)); // -1
* ```
*/
const lastIndexOfOr = dfdlT((target, value, or) => {
const idx = target.lastIndexOf(value);
return idx < 0 ? or : idx;
}, 3);
//#endregion
export { lastIndexOfOr };