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;
 |