numberSort
输入参数 arr
,根据数字大小对其进行排序,参数 order
指定排序顺序。
order
可以是 'asc'
(升序)或者 desc
(降序),默认为 'asc'
。内部会调用 numberComparatorAsc 或者 numberComparatorDesc。
可选参数 getter
用于从数组 arr
的元素中获取数值,默认情况下直接使用元素本身进行排序。getter
值为 getByPath 函数的字段路径,或者回调函数。
Added in v0.0.2
Usage
ts
import { numberSort } from 'parsnip-kit'
const numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
numberSort([...numbers])
// [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
numberSort([...numbers], 'desc')
// [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
const people = [
{ name: 'John', age: 30 },
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 35 }
]
numberSort([...people], 'asc', 'age')
// [
// { name: 'Alice', age: 25 },
// { name: 'John', age: 30 },
// { name: 'Bob', age: 35 }
// ]
numberSort([...people], 'asc', item => item.age)
// [
// { name: 'Alice', age: 25 },
// { name: 'John', age: 30 },
// { name: 'Bob', age: 35 }
// ]
API
Type Parameter
Arg | Type | Description |
---|---|---|
T |
| 数组元素类型 |
R | extends 'asc' | 'desc' = 'asc' | 'desc' | 排序顺序的类型 |
Arguments
Arg | Type | Optional | Default | Description |
---|---|---|---|---|
arr | T[] | false | undefined | 待排序数组 |
order | R | false | undefined | 排序的顺序 |
getter | string | ((item: T) => number) | false | undefined | 用于获取数值 |
Returns
Type |
---|
T[] |