29 lines
739 B
JavaScript
29 lines
739 B
JavaScript
|
var baseFindIndex = require('./_baseFindIndex'),
|
||
|
baseIsNaN = require('./_baseIsNaN');
|
||
|
|
||
|
/**
|
||
|
* The base implementation of `_.indexOf` without `fromIndex` bounds checks.
|
||
|
*
|
||
|
* @private
|
||
|
* @param {Array} array The array to inspect.
|
||
|
* @param {*} value The value to search for.
|
||
|
* @param {number} fromIndex The index to search from.
|
||
|
* @returns {number} Returns the index of the matched value, else `-1`.
|
||
|
*/
|
||
|
function baseIndexOf(array, value, fromIndex) {
|
||
|
if (value !== value) {
|
||
|
return baseFindIndex(array, baseIsNaN, fromIndex);
|
||
|
}
|
||
|
var index = fromIndex - 1,
|
||
|
length = array.length;
|
||
|
|
||
|
while (++index < length) {
|
||
|
if (array[index] === value) {
|
||
|
return index;
|
||
|
}
|
||
|
}
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
module.exports = baseIndexOf;
|