| var _curry2 = |
| /*#__PURE__*/ |
| require("./internal/_curry2"); |
| |
| var _isArray = |
| /*#__PURE__*/ |
| require("./internal/_isArray"); |
| |
| var equals = |
| /*#__PURE__*/ |
| require("./equals"); |
| /** |
| * 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 |
| * @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; |
| } |
| }); |
| |
| module.exports = lastIndexOf; |