主题
orderBy
js
_.orderBy(collection, [iteratees=[_.identity]], [orders])
此方法与 _.sortBy
类似,不同之处在于它允许指定要排序的迭代器的排序顺序。如果未指定 orders
,则所有值按升序排序。否则,指定 "desc" 的顺序以进行降序排列,或指定 "asc" 的顺序以进行相应值的升序排列。
¥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
collection
(数组|对象):要迭代的集合。¥
collection
(Array|Object): The collection to iterate over.[iteratees=[_.identity]]
(数组[]|函数[]|对象[]|字符串[]):用于排序的迭代器。¥
[iteratees=[_.identity]]
(Array[]|Function[]|Object[]|string[]): The iteratees to sort by.[orders]
(字符串[]):iteratees
的排序顺序。¥
[orders]
(string[]): The sort orders ofiteratees
.
返回
¥Returns
(数组):返回新的排序数组。
¥(Array): Returns the new sorted array.
示例
¥Example
js
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]]