_baseFindKey.js (747B)
1 /** 2 * The base implementation of methods like `_.findKey` and `_.findLastKey`, 3 * without support for iteratee shorthands, which iterates over `collection` 4 * using `eachFunc`. 5 * 6 * @private 7 * @param {Array|Object} collection The collection to inspect. 8 * @param {Function} predicate The function invoked per iteration. 9 * @param {Function} eachFunc The function to iterate over `collection`. 10 * @returns {*} Returns the found element or its key, else `undefined`. 11 */ 12 function baseFindKey(collection, predicate, eachFunc) { 13 var result; 14 eachFunc(collection, function(value, key, collection) { 15 if (predicate(value, key, collection)) { 16 result = key; 17 return false; 18 } 19 }); 20 return result; 21 } 22 23 module.exports = baseFindKey;