mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-01-31 15:27:50 +00:00
37 lines
866 B
JavaScript
37 lines
866 B
JavaScript
/**
|
|
* This method is like `forOwn` except that it iterates over properties of
|
|
* `object` in the opposite order.
|
|
*
|
|
* @since 2.0.0
|
|
* @category Object
|
|
* @param {Object} object The object to iterate over.
|
|
* @param {Function} iteratee The function invoked per iteration.
|
|
* @returns {Object} Returns `object`.
|
|
* @see forEach, forEachRight, forIn, forInRight, forOwn
|
|
* @example
|
|
*
|
|
* function Foo() {
|
|
* this.a = 1
|
|
* this.b = 2
|
|
* }
|
|
*
|
|
* Foo.prototype.c = 3
|
|
*
|
|
* forOwnRight(new Foo, function(value, key) {
|
|
* console.log(key)
|
|
* })
|
|
* // => Logs 'b' then 'a' assuming `forOwn` logs 'a' then 'b'.
|
|
*/
|
|
function forOwnRight(object, iteratee) {
|
|
if (object == null) {
|
|
return
|
|
}
|
|
const props = Object.keys(object)
|
|
let length = props.length
|
|
while (length--) {
|
|
iteratee(object[props[length]], iteratee, object)
|
|
}
|
|
}
|
|
|
|
export default forOwnRight
|