1var 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 */ 30function forOwnRight(object, iteratee) { 31 return object && baseForOwnRight(object, castFunction(iteratee)); 32} 33 34module.exports = forOwnRight; 35