numberSort
パラメータ order
で指定された順序に従って、パラメータ arr
を数値の大きさに基づいてソートします。デフォルトの順序は 'asc'
(昇順)です。
order
パラメータには、'asc'
(昇順)または 'desc'
(降順)を指定できます。内部で 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[] |