| 123456789101112131415161718192021222324252627282930313233343536 | import baseForOwn from './_baseForOwn.js';import castFunction from './_castFunction.js';/** * Iterates over own 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 _.forOwnRight * @example * * function Foo() { *   this.a = 1; *   this.b = 2; * } * * Foo.prototype.c = 3; * * _.forOwn(new Foo, function(value, key) { *   console.log(key); * }); * // => Logs 'a' then 'b' (iteration order is not guaranteed). */function forOwn(object, iteratee) {  return object && baseForOwn(object, castFunction(iteratee));}export default forOwn;
 |