|
@@ -5,7 +5,7 @@ import { ownKeys } from '../ownKeys/ownKeys';
|
|
|
* Iterates over the provided object by own enumerable keys with calling the iteratee function.
|
|
|
*
|
|
|
* @param object - An object to iterate over.
|
|
|
- * @param iteratee - An iteratee function that takes the value and key as arguments.
|
|
|
+ * @param iteratee - An iteratee function that takes `value` and `key` as arguments.
|
|
|
* @param right - If `true`, the method iterates over the object from the end like `forEachRight()`.
|
|
|
*
|
|
|
* @return A provided object itself.
|
|
@@ -16,18 +16,9 @@ export function forOwn<T extends object>(
|
|
|
right?: boolean
|
|
|
): T {
|
|
|
if ( object ) {
|
|
|
- let keys = ownKeys( object );
|
|
|
- keys = right ? keys.reverse() : keys;
|
|
|
-
|
|
|
- for ( let i = 0; i < keys.length; i++ ) {
|
|
|
- const key = keys[ i ];
|
|
|
-
|
|
|
- if ( key !== '__proto__' ) {
|
|
|
- if ( iteratee( object[ key ], key ) === false ) {
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ ( right ? ownKeys( object ).reverse() : ownKeys( object ) ).forEach( key => {
|
|
|
+ key !== '__proto__' && iteratee( object[ key ], key );
|
|
|
+ } );
|
|
|
}
|
|
|
|
|
|
return object;
|