orderSort
根据指定的顺序 order 对数组 arr 进行排序。
getter 是一个将数组 arr 的元素转换为可用于排序的 key 的函数,它可以是 getByPath 的字段路径或一个函数。如果未提供 getter,orderSort 将使用数组 arr 的元素本身作为排序的 key。
不在 order 数组中的元素将保持它们原来的顺序排在末尾。
Added in v0.0.3
Usage
ts
import { orderSort } from 'parsnip-kit'
const arr = [{ id: 0 }, { id: 2 }, { id: 1 }, { id: 3 }, { id: 4 }]
const order = [1, 3, 2]
const getter = (item: { id: number }) => item.id
const sortedArr = orderSort(arr, order, getter)
// [{ id: 1 }, { id: 3 }, { id: 2 }, { id: 0 }, { id: 4 }]API
Type Parameter
| Arg | Type | Description |
|---|---|---|
T | | 要排序的数组元素类型 |
Arguments
| Arg | Type | Optional | Default | Description |
|---|---|---|---|---|
arr | T[] | false | undefined | 要排序的数组 |
order | any[] | false | undefined | 指定期望顺序的数组 |
getter | string | ((item: T) => any) | true | undefined | 将数组的元素转换为可用于排序的 key |
Returns
| Type |
|---|
T[] |