_.orderBy(collection, [iteratees=[_.identity]], [orders])
_.orderBy(collection, [iteratees=[_.identity]], [orders])
用于根据指定的条件对集合进行排序,并返回排序后的新数组。
collection
:要排序的集合,可以是数组、对象或类数组对象。iteratees
(可选):用于指定排序条件的函数或属性名称,默认为_.identity
函数。orders
(可选):指定排序顺序的数组,每个元素可以是'asc'
(升序)或'desc'
(降序)。
应用举例:
javascript
// 原始集合
const collection = [
{ name: "John", age: 30 },
{ name: "Alice", age: 25 },
{ name: "Bob", age: 35 },
];
// 根据 'age' 属性升序排序
const resultAsc = _.orderBy(collection, ["age"], ["asc"]);
console.log(resultAsc);
// 输出:[ { name: 'Alice', age: 25 }, { name: 'John', age: 30 }, { name: 'Bob', age: 35 } ]
// 根据 'name' 属性降序排序
const resultDesc = _.orderBy(collection, ["name"], ["desc"]);
console.log(resultDesc);
// 输出:[ { name: 'John', age: 30 }, { name: 'Bob', age: 35 }, { name: 'Alice', age: 25 } ]
在这个例子中,_.orderBy
方法根据指定的属性名称对原始集合进行排序,并返回排序后的新数组。