code: function baseEach(collection, callback) {
        var index = -1,
            iterable = collection,
            length = collection ? collection.length : 0;
  
        if (typeof length == 'number') {
          if (support.unindexedChars && isString(iterable)) {
            iterable = iterable.split('');
          }
          while (++index < length) {
            if (callback(iterable[index], index, collection) === false) {
              break;
            }
          }
        } else {
          baseForOwn(collection, callback);
        }
        return collection;
      }
docs: The base implementation of `_.forEach` without support for callback
  shorthands or `thisArg` binding.
  
  @private
  @param {Array|Object|string} collection The collection to iterate over.
  @param {Function} callback The function called per iteration.
  @returns {Array|Object|string} Returns `collection`.