1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import _curry2 from "./internal/_curry2.js";
- import _isArray from "./internal/_isArray.js";
- import equals from "./equals.js";
- /**
- * Returns the position of the last occurrence of an item in an array, or -1 if
- * the item is not included in the array. [`R.equals`](#equals) is used to
- * determine equality.
- *
- * @func
- * @memberOf R
- * @since v0.1.0
- * @category List
- * @sig a -> [a] -> Number
- * @param {*} target The item to find.
- * @param {Array} xs The array to search in.
- * @return {Number} the index of the target, or -1 if the target is not found.
- * @see R.indexOf, R.findLastIndex
- * @example
- *
- * R.lastIndexOf(3, [-1,3,3,0,1,2,3,4]); //=> 6
- * R.lastIndexOf(10, [1,2,3,4]); //=> -1
- */
- var lastIndexOf =
- /*#__PURE__*/
- _curry2(function lastIndexOf(target, xs) {
- if (typeof xs.lastIndexOf === 'function' && !_isArray(xs)) {
- return xs.lastIndexOf(target);
- } else {
- var idx = xs.length - 1;
- while (idx >= 0) {
- if (equals(xs[idx], target)) {
- return idx;
- }
- idx -= 1;
- }
- return -1;
- }
- });
- export default lastIndexOf;
|