Skip to content

lexSort

Static Badge

输入参数 arr,根据字典序对其进行排序,参数 order 指定排序顺序。

order 可以是 'asc'(升序)或者 desc(降序),默认为 'asc'。内部会调用 stringComparatorAsc 或者 stringComparatorDesc

可选参数 getter 用于从数组 arr 的元素中获取字符串值,默认情况下直接使用元素本身进行排序。getter值为 getByPath 函数的字段路径,或者回调函数。

Added in v0.0.2

Usage

ts
import { lexSort } from 'parsnip-kit'

const fruits = ['banana', 'apple', 'cherry', 'date']
lexSort(fruit)
// ['apple', 'banana', 'cherry', 'date']

const people = [
  { name: 'John', age: 30 },
  { name: 'Alice', age: 25 },
  { name: 'Bob', age: 35 }
]

lexSort([...people], 'desc', 'name')
// [
//   { name: 'John', age: 30 },
//   { name: 'Bob', age: 35 },
//   { name: 'Alice', age: 25 }
// ]

lexSort([...people], 'asc', item => item.name)
// [
//   { name: 'John', age: 30 },
//   { name: 'Bob', age: 35 },
//   { name: 'Alice', age: 25 }
// ]

API

Type Parameter

ArgTypeDescription
T数组元素类型
Rextends 'asc' | 'desc' = 'asc' | 'desc'排序顺序的类型

Arguments

ArgTypeOptionalDefaultDescription
arrT[]falseundefined待排序数组
orderRfalseundefined排序的顺序
getterstring | ((item: T) => string)falseundefined用于获取字符串值

Returns

Type
T[]