# \_.orderBy(collection, iteratees= _.identity , orders )

URL: https://caijiao.org/lodash/docs/Collection/_.orderBy
Source: docs/lodash/docs/Collection/_.orderBy.md
Description: _.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` 方法根据指定的属性名称对原始集合进行排序，并返回排序后的新数组。
