@pmun/utils / sortBy
Function: sortBy()
ts
function sortBy<T>(
array,
iteratee,
order): T[];根据迭代函数返回的值进行排序
Type Parameters
T
T
Parameters
array
T[]
要排序的数组
iteratee
迭代函数或属性名,返回用于排序的值
(item) => any | keyof T
order
排序方向,'asc' 为升序,'desc' 为降序,默认为 'asc'
"asc" | "desc"
Returns
T[]
排序后的新数组,不会修改原数组
Example
ts
const users = [
{ name: 'Tom', age: 25 },
{ name: 'Jerry', age: 20 },
{ name: 'Alice', age: 30 }
]
// 使用函数
sortBy(users, user => user.age)
// [{ name: 'Jerry', age: 20 }, { name: 'Tom', age: 25 }, { name: 'Alice', age: 30 }]
// 降序
sortBy(users, user => user.age, 'desc')
// [{ name: 'Alice', age: 30 }, { name: 'Tom', age: 25 }, { name: 'Jerry', age: 20 }]
// 使用属性名
sortBy(users, 'name')
// [{ name: 'Alice', age: 30 }, { name: 'Jerry', age: 20 }, { name: 'Tom', age: 25 }]
// 数字数组排序
sortBy([3, 1, 4, 1, 5], x => x) // [1, 1, 3, 4, 5]