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.
		
		
		
		
		
			
		
			
				
					
					
						
							26 lines
						
					
					
						
							741 B
						
					
					
				
			
		
		
	
	
							26 lines
						
					
					
						
							741 B
						
					
					
				var _optimizeCb = require('./_optimizeCb.js');
 | 
						|
var _isArrayLike = require('./_isArrayLike.js');
 | 
						|
var keys = require('./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.
 | 
						|
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;
 | 
						|
}
 | 
						|
 | 
						|
module.exports = each;
 |