_.orderBy

_.orderBy(collection, [iteratees=[_.identity]], [orders])

source npm package

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.

Since

4.0.0

Arguments

  1. collection (Array|Object): The collection to iterate over.
  2. [iteratees=[_.identity]] (Array[]|Function[]|Object[]|string[]): The iteratees to sort by.
  3. [orders] (string[]): The sort orders of iteratees.

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]]