code: function forEachRight(collection, callback, thisArg) {
        var length = collection ? collection.length : 0;
        callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
        if (typeof length == 'number') {
          while (length--) {
            if (callback(collection[length], length, collection) === false) {
              break;
            }
          }
        } else {
          var props = keys(collection);
          length = props.length;
          forOwn(collection, function(value, key, collection) {
            key = props ? props[--length] : --length;
            return callback(collection[key], key, collection);
          });
        }
        return collection;
      }
docs: This method is like `_.forEach` except that it iterates over elements
  of a `collection` from right to left.
  
  @static
  @memberOf _
  @alias eachRight
  @category Collections
  @param {Array|Object|string} collection The collection to iterate over.
  @param {Function} [callback=identity] The function called per iteration.
  @param {*} [thisArg] The `this` binding of `callback`.
  @returns {Array|Object|string} Returns `collection`.
  @example
  
  _([1, 2, 3]).forEachRight(function(num) { console.log(num); }).join(',');
  // => logs each number from right to left and returns '3,2,1'