UNPKG

@newdash/newdash

Version:

javascript/typescript utility library

27 lines (26 loc) 1.13 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.lastIndexOf = void 0; const baseFindIndex_1 = __importDefault(require("./.internal/baseFindIndex")); const baseIsNaN_1 = __importDefault(require("./.internal/baseIsNaN")); const strictLastIndexOf_1 = __importDefault(require("./.internal/strictLastIndexOf")); const toInteger_1 = __importDefault(require("./toInteger")); function lastIndexOf(array, value, fromIndex) { const length = array == null ? 0 : array.length; if (!length) { return -1; } let index = length; if (fromIndex !== undefined) { index = (0, toInteger_1.default)(fromIndex); index = index < 0 ? Math.max(length + index, 0) : Math.min(index, length - 1); } return value === value ? (0, strictLastIndexOf_1.default)(array, value, index) : (0, baseFindIndex_1.default)(array, baseIsNaN_1.default, index, true); } exports.lastIndexOf = lastIndexOf; exports.default = lastIndexOf;