Skip to content

orderSort

根据指定的顺序 order 对数组 arr 进行排序。

getter 是一个将数组 arr 的元素转换为可用于排序的 key 的函数,它可以是 getByPath 的字段路径或一个函数。如果未提供 getterorderSort 将使用数组 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

ArgTypeDescription
T要排序的数组元素类型

Arguments

ArgTypeOptionalDefaultDescription
arrT[]falseundefined要排序的数组
orderany[]falseundefined指定期望顺序的数组
getterstring | ((item: T) => any)trueundefined将数组的元素转换为可用于排序的 key

Returns

Type
T[]