Skip to content

orderBy

根据多个属性和它们对应的排序顺序对对象数组进行排序。

函数接受一个对象数组,一个要排序的属性数组,以及一个排序顺序数组作为参数,返回一个排序后的对象数组,根据每个键及其排序顺序进行排序。(asc 表示升序,desc 表示降序) 如果一个键的值相等,则按照下一个键进行排序,以此类推。

签名

ts
function orderBy<T>(arr : T[], props : string[], orders : ('asc' | 'desc')[]) : T[]

参数

  • arr(T[]):要排序的对象数组。
  • props(string[]):要排序的属性数组。
  • orders(('asc' | 'desc')[]):排序顺序数组。

返回值

T[]:排序后的对象数组。

示例

ts
import { orderBy } from '@/uni_modules/kux-toolkit'

const arr17 = [
    { user: 'fred', age: 48 },
    { user: 'barney', age: 34 },
    { user: 'fred', age: 40 },
    { user: 'barney', age: 36 }
]
const sortedArr = orderBy(arr17, ['user', 'age'], ['asc', 'desc'])
console.log(sortedArr)
// [
//     { user: 'barney', age: 36 },
//     { user: 'barney', age: 34 },
//     { user: 'fred', age: 48 },
//     { user: 'fred', age: 40 }
// ]

Released under the MIT License.