libs/lodash.js
function rest(array, predicate, thisArg) {
      if (typeof predicate != 'number' && predicate != null) {
        var index = -1,
            length = array ? array.length : 0,
            n = 0;

        predicate = lodash.createCallback(predicate, thisArg, 3);
        while (++index < length && predicate(array[index], index, array)) {
          n++;
        }
      } else if (predicate == null || thisArg) {
        n = 1;
      } else {
        n = predicate < 0 ? 0 : predicate;
      }
      return slice(array, n);
    }
function rest(array, predicate, thisArg) {
      if (typeof predicate != 'number' && predicate != null) {
        var index = -1,
            length = array ? array.length : 0,
            n = 0;

        predicate = lodash.createCallback(predicate, thisArg, 3);
        while (++index < length && predicate(array[index], index, array)) {
          n++;
        }
      } else if (predicate == null || thisArg) {
        n = 1;
      } else {
        n = predicate < 0 ? 0 : predicate;
      }
      return slice(array, n);
    }
function rest ( array , predicate , thisArg ) { if ( typeof predicate != 'number' && predicate != null ) { var index = - 1 , length = array ? array . length : 0 , n = 0 ; predicate = lodash . createCallback ( predicate , thisArg , 3 ) ; while ( ++ index < length && predicate ( array [ index ] , index , array ) ) { n ++ ; } } else if ( predicate == null || thisArg ) { n = 1 ; } else { n = predicate < 0 ? 0 : predicate ; } return slice ( array , n ) ; }
Gets all but the first element of `array`.

Note: The `n` and `predicate` arguments are deprecated; replace with
`_.drop` and `_.dropWhile` respectively.

@static
@memberOf _
@alias tail
@category Arrays
@param {Array} array The array to query.
@returns {Array} Returns the slice of `array`.
@example

_.rest([1, 2, 3]);
// => [2, 3]
Gets all but the first element of array .