| /** | |
| * The base implementation of methods like `_.findKey` and `_.findLastKey`, | |
| * without support for iteratee shorthands, which iterates over `collection` | |
| * using `eachFunc`. | |
| * | |
| * @private | |
| * @param {Array|Object} collection The collection to inspect. | |
| * @param {Function} predicate The function invoked per iteration. | |
| * @param {Function} eachFunc The function to iterate over `collection`. | |
| * @returns {*} Returns the found element or its key, else `undefined`. | |
| */ | |
| function baseFindKey(collection, predicate, eachFunc) { | |
| var result; | |
| eachFunc(collection, function(value, key, collection) { | |
| if (predicate(value, key, collection)) { | |
| result = key; | |
| return false; | |
| } | |
| }); | |
| return result; | |
| } | |
| module.exports = baseFindKey; |