Sha256: 0d2d6dd259a70e40b806f82f6b82c5defcc7b5a7b21810d4a483ae8f61b52962

Contents?: true

Size: 1.58 KB

Versions: 303

Compression:

Stored size: 1.58 KB

Contents

var baseOrderBy = require('./_baseOrderBy'),
    isArray = require('./isArray');

/**
 * This method is like `_.sortBy` except that it allows specifying the sort
 * orders of the iteratees to sort by. If `orders` is unspecified, all values
 * are sorted in ascending order. Otherwise, specify an order of "desc" for
 * descending or "asc" for ascending sort order of corresponding values.
 *
 * @static
 * @memberOf _
 * @since 4.0.0
 * @category Collection
 * @param {Array|Object} collection The collection to iterate over.
 * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]
 *  The iteratees to sort by.
 * @param {string[]} [orders] The sort orders of `iteratees`.
 * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.
 * @returns {Array} Returns the new sorted array.
 * @example
 *
 * var users = [
 *   { 'user': 'fred',   'age': 48 },
 *   { 'user': 'barney', 'age': 34 },
 *   { 'user': 'fred',   'age': 40 },
 *   { 'user': 'barney', 'age': 36 }
 * ];
 *
 * // Sort by `user` in ascending order and by `age` in descending order.
 * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);
 * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]
 */
function orderBy(collection, iteratees, orders, guard) {
  if (collection == null) {
    return [];
  }
  if (!isArray(iteratees)) {
    iteratees = iteratees == null ? [] : [iteratees];
  }
  orders = guard ? undefined : orders;
  if (!isArray(orders)) {
    orders = orders == null ? [] : [orders];
  }
  return baseOrderBy(collection, iteratees, orders);
}

module.exports = orderBy;

Version data entries

303 entries across 279 versions & 33 rubygems

Version Path
rapid_stack-0.2.0 templates/frontend/node_modules/lodash/orderBy.js
rapid_stack-0.1.1 templates/FrontEnd/node_modules/lodash/orderBy.js
rapid_stack-0.1.0 templates/FrontEnd/node_modules/lodash/orderBy.js
immosquare-cleaner-0.1.60 node_modules/lodash/orderBy.js
immosquare-cleaner-0.1.59 node_modules/lodash/orderBy.js
immosquare-cleaner-0.1.58 node_modules/lodash/orderBy.js
immosquare-cleaner-0.1.57 node_modules/lodash/orderBy.js
immosquare-cleaner-0.1.56 node_modules/lodash/orderBy.js
immosquare-cleaner-0.1.55 node_modules/lodash/orderBy.js
immosquare-cleaner-0.1.54 node_modules/lodash/orderBy.js
immosquare-cleaner-0.1.53 node_modules/lodash/orderBy.js
immosquare-cleaner-0.1.52 node_modules/lodash/orderBy.js
trusty-cms-6.3.1 node_modules/lodash/orderBy.js
immosquare-cleaner-0.1.51 node_modules/lodash/orderBy.js
boring_generators-0.15.0 tmp/templates/app_template/node_modules/lodash/orderBy.js
clapton-0.0.26 lib/clapton/javascripts/node_modules/lodash/orderBy.js
clapton-0.0.25 lib/clapton/javascripts/node_modules/lodash/orderBy.js
immosquare-cleaner-0.1.50 node_modules/lodash/orderBy.js
clapton-0.0.24 lib/clapton/javascripts/node_modules/lodash/orderBy.js
clapton-0.0.23 lib/clapton/javascripts/node_modules/lodash/orderBy.js