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.
37 lines
929 B
37 lines
929 B
var baseForRight = require('./_baseForRight'), |
|
castFunction = require('./_castFunction'), |
|
keysIn = require('./keysIn'); |
|
|
|
/** |
|
* This method is like `_.forIn` except that it iterates over properties of |
|
* `object` in the opposite order. |
|
* |
|
* @static |
|
* @memberOf _ |
|
* @since 2.0.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 _.forIn |
|
* @example |
|
* |
|
* function Foo() { |
|
* this.a = 1; |
|
* this.b = 2; |
|
* } |
|
* |
|
* Foo.prototype.c = 3; |
|
* |
|
* _.forInRight(new Foo, function(value, key) { |
|
* console.log(key); |
|
* }); |
|
* // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'. |
|
*/ |
|
function forInRight(object, iteratee) { |
|
return object == null |
|
? object |
|
: baseForRight(object, castFunction(iteratee), keysIn); |
|
} |
|
|
|
module.exports = forInRight;
|
|
|