1 | var baseForOwnRight = require('./_baseForOwnRight'),
|
2 | castFunction = require('./_castFunction');
|
3 |
|
4 | /**
|
5 | * This method is like `_.forOwn` except that it iterates over properties of
|
6 | * `object` in the opposite order.
|
7 | *
|
8 | * @static
|
9 | * @memberOf _
|
10 | * @since 2.0.0
|
11 | * @category Object
|
12 | * @param {Object} object The object to iterate over.
|
13 | * @param {Function} [iteratee=_.identity] The function invoked per iteration.
|
14 | * @returns {Object} Returns `object`.
|
15 | * @see _.forOwn
|
16 | * @example
|
17 | *
|
18 | * function Foo() {
|
19 | * this.a = 1;
|
20 | * this.b = 2;
|
21 | * }
|
22 | *
|
23 | * Foo.prototype.c = 3;
|
24 | *
|
25 | * _.forOwnRight(new Foo, function(value, key) {
|
26 | * console.log(key);
|
27 | * });
|
28 | * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.
|
29 | */
|
30 | function forOwnRight(object, iteratee) {
|
31 | return object && baseForOwnRight(object, castFunction(iteratee));
|
32 | }
|
33 |
|
34 | module.exports = forOwnRight;
|