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.
		
		
		
		
		
			
		
			
				
					24 lines
				
				719 B
			
		
		
			
		
	
	
					24 lines
				
				719 B
			| 
											3 years ago
										 | import optimizeCb from './_optimizeCb.js'; | ||
|  | import isArrayLike from './_isArrayLike.js'; | ||
|  | import keys from './keys.js'; | ||
|  | 
 | ||
|  | // The cornerstone for collection functions, an `each`
 | ||
|  | // implementation, aka `forEach`.
 | ||
|  | // Handles raw objects in addition to array-likes. Treats all
 | ||
|  | // sparse array-likes as if they were dense.
 | ||
|  | export default function each(obj, iteratee, context) { | ||
|  |   iteratee = optimizeCb(iteratee, context); | ||
|  |   var i, length; | ||
|  |   if (isArrayLike(obj)) { | ||
|  |     for (i = 0, length = obj.length; i < length; i++) { | ||
|  |       iteratee(obj[i], i, obj); | ||
|  |     } | ||
|  |   } else { | ||
|  |     var _keys = keys(obj); | ||
|  |     for (i = 0, length = _keys.length; i < length; i++) { | ||
|  |       iteratee(obj[_keys[i]], _keys[i], obj); | ||
|  |     } | ||
|  |   } | ||
|  |   return obj; | ||
|  | } |