26 lines
		
	
	
		
			648 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			26 lines
		
	
	
		
			648 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|  | /** | ||
|  |  * Creates a base function for methods like `_.forIn` and `_.forOwn`. | ||
|  |  * | ||
|  |  * @private | ||
|  |  * @param {boolean} [fromRight] Specify iterating from right to left. | ||
|  |  * @returns {Function} Returns the new base function. | ||
|  |  */ | ||
|  | function createBaseFor(fromRight) { | ||
|  |   return function(object, iteratee, keysFunc) { | ||
|  |     var index = -1, | ||
|  |         iterable = Object(object), | ||
|  |         props = keysFunc(object), | ||
|  |         length = props.length; | ||
|  | 
 | ||
|  |     while (length--) { | ||
|  |       var key = props[fromRight ? length : ++index]; | ||
|  |       if (iteratee(iterable[key], key, iterable) === false) { | ||
|  |         break; | ||
|  |       } | ||
|  |     } | ||
|  |     return object; | ||
|  |   }; | ||
|  | } | ||
|  | 
 | ||
|  | module.exports = createBaseFor; |