code: function every(collection, predicate, thisArg) {
        var result = true;
        predicate = lodash.createCallback(predicate, thisArg, 3);
  
        var index = -1,
            length = collection ? collection.length : 0;
  
        if (typeof length == 'number' && length > -1 && length <= maxSafeInteger) {
          while (++index < length) {
            if (!predicate(collection[index], index, collection)) {
              return false;
            }
          }
        } else {
          baseEach(collection, function(value, index, collection) {
            return (result = !!predicate(value, index, collection));
          });
        }
        return result;
      }
docs: Checks if the predicate returns truthy for **all** elements of a collection.
  The predicate is bound to `thisArg` and invoked with three arguments;
  (value, index|key, collection).
  
  If a property name is provided for `predicate` the created "_.pluck" style
  callback will return the property value of the given element.
  
  If an object is provided for `predicate` the created "_.where" style callback
  will return `true` for elements that have the properties of the given object,
  else `false`.
  
  @static
  @memberOf _
  @alias all
  @category Collections
  @param {Array|Object|string} collection The collection to iterate over.
  @param {Function|Object|string} [predicate=identity] The function called
  per iteration. If a property name or object is provided it will be used
  to create a "_.pluck" or "_.where" style callback respectively.
  @param {*} [thisArg] The `this` binding of `predicate`.
  @returns {boolean} Returns `true` if all elements passed the predicate check,
  else `false`.
  @example
  
  _.every([true, 1, null, 'yes']);
  // => false
  
  var characters = [
  { 'name': 'barney', 'age': 36 },
  { 'name': 'fred',   'age': 40 }
  ];
  
  // using "_.pluck" callback shorthand
  _.every(characters, 'age');
  // => true
  
  // using "_.where" callback shorthand
  _.every(characters, { 'age': 36 });
  // => false