Skip to content

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