Skip to content

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

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

Arguments

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

Returns

Type
T[]