21 lines
656 B
JavaScript
21 lines
656 B
JavaScript
var baseCallback = require('./baseCallback'),
|
|
binaryIndex = require('./binaryIndex'),
|
|
binaryIndexBy = require('./binaryIndexBy');
|
|
|
|
/**
|
|
* Creates a `_.sortedIndex` or `_.sortedLastIndex` function.
|
|
*
|
|
* @private
|
|
* @param {boolean} [retHighest] Specify returning the highest qualified index.
|
|
* @returns {Function} Returns the new index function.
|
|
*/
|
|
function createSortedIndex(retHighest) {
|
|
return function(array, value, iteratee, thisArg) {
|
|
return iteratee == null
|
|
? binaryIndex(array, value, retHighest)
|
|
: binaryIndexBy(array, value, baseCallback(iteratee, thisArg, 1), retHighest);
|
|
};
|
|
}
|
|
|
|
module.exports = createSortedIndex;
|