Urara-Blog/node_modules/.pnpm-store/v3/files/aa/78f44aede0d19c9d0184ef92530d86dbe9ccddd0900d76919e13f0d952ab6eb66a9c2fe3cdbc9ab77fdc4030e12e73be8ffe4e57632c2df4ed9e915ad7440c
2022-08-14 01:14:53 +08:00

25 lines
853 B
Text

var baseIteratee = require('./_baseIteratee'),
isArrayLike = require('./isArrayLike'),
keys = require('./keys');
/**
* Creates a `_.find` or `_.findLast` function.
*
* @private
* @param {Function} findIndexFunc The function to find the collection index.
* @returns {Function} Returns the new find function.
*/
function createFind(findIndexFunc) {
return function(collection, predicate, fromIndex) {
var iterable = Object(collection);
if (!isArrayLike(collection)) {
var iteratee = baseIteratee(predicate, 3);
collection = keys(collection);
predicate = function(key) { return iteratee(iterable[key], key, iterable); };
}
var index = findIndexFunc(collection, predicate, fromIndex);
return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;
};
}
module.exports = createFind;