lexSort
パラメータ order
で指定された順序に従って、パラメータ arr
を辞書順にソートします。デフォルトの順序は 'asc'
(昇順)です。
order
パラメータには、'asc'
(昇順)または 'desc'
(降順)を指定できます。内部で 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
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) => string) | false | undefined | 配列要素から文字列値を取得するもの |
Returns
Type |
---|
T[] |