source: node_modules/ramda/es/findLastIndex.js

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 1.1 KB
Line 
1import _curry2 from "./internal/_curry2.js";
2import _dispatchable from "./internal/_dispatchable.js";
3import _xfindLastIndex from "./internal/_xfindLastIndex.js";
4/**
5 * Returns the index of the last element of the list which matches the
6 * predicate, or `-1` if no element matches.
7 *
8 * Acts as a transducer if a transformer is given in list position.
9 *
10 * @func
11 * @memberOf R
12 * @since v0.1.1
13 * @category List
14 * @sig (a -> Boolean) -> [a] -> Number
15 * @param {Function} fn The predicate function used to determine if the element is the
16 * desired one.
17 * @param {Array} list The array to consider.
18 * @return {Number} The index of the element found, or `-1`.
19 * @see R.transduce, R.lastIndexOf
20 * @example
21 *
22 * const xs = [{a: 1, b: 0}, {a:1, b: 1}];
23 * R.findLastIndex(R.propEq(1, 'a'))(xs); //=> 1
24 * R.findLastIndex(R.propEq(4, 'a'))(xs); //=> -1
25 */
26
27var findLastIndex =
28/*#__PURE__*/
29_curry2(
30/*#__PURE__*/
31_dispatchable([], _xfindLastIndex, function findLastIndex(fn, list) {
32 var idx = list.length - 1;
33
34 while (idx >= 0) {
35 if (fn(list[idx])) {
36 return idx;
37 }
38
39 idx -= 1;
40 }
41
42 return -1;
43}));
44
45export default findLastIndex;
Note: See TracBrowser for help on using the repository browser.