Spaces:
Runtime error
Runtime error
var baseFor = require('./_baseFor'), | |
castFunction = require('./_castFunction'), | |
keysIn = require('./keysIn'); | |
/** | |
* Iterates over own and inherited enumerable string keyed properties of an | |
* object and invokes `iteratee` for each property. The iteratee is invoked | |
* with three arguments: (value, key, object). Iteratee functions may exit | |
* iteration early by explicitly returning `false`. | |
* | |
* @static | |
* @memberOf _ | |
* @since 0.3.0 | |
* @category Object | |
* @param {Object} object The object to iterate over. | |
* @param {Function} [iteratee=_.identity] The function invoked per iteration. | |
* @returns {Object} Returns `object`. | |
* @see _.forInRight | |
* @example | |
* | |
* function Foo() { | |
* this.a = 1; | |
* this.b = 2; | |
* } | |
* | |
* Foo.prototype.c = 3; | |
* | |
* _.forIn(new Foo, function(value, key) { | |
* console.log(key); | |
* }); | |
* // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). | |
*/ | |
function forIn(object, iteratee) { | |
return object == null | |
? object | |
: baseFor(object, castFunction(iteratee), keysIn); | |
} | |
module.exports = forIn; | |