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 }
// ]