_createBaseFor.js
 1  /**
 2   * Creates a base function for methods like `_.forIn` and `_.forOwn`.
 3   *
 4   * @private
 5   * @param {boolean} [fromRight] Specify iterating from right to left.
 6   * @returns {Function} Returns the new base function.
 7   */
 8  function createBaseFor(fromRight) {
 9    return function(object, iteratee, keysFunc) {
10      var index = -1,
11          iterable = Object(object),
12          props = keysFunc(object),
13          length = props.length;
14  
15      while (length--) {
16        var key = props[fromRight ? length : ++index];
17        if (iteratee(iterable[key], key, iterable) === false) {
18          break;
19        }
20      }
21      return object;
22    };
23  }
24  
25  module.exports = createBaseFor;