You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
992 B
36 lines
992 B
var baseForOwn = require('./_baseForOwn'), |
|
castFunction = require('./_castFunction'); |
|
|
|
/** |
|
* 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)); |
|
} |
|
|
|
module.exports = forOwn;
|
|
|