Skip to content

sortIndex

输入数组arr,返回一个数组,是排序前数组索引到排序后数组索引的映射。需要注意的是,数组arr自身不会被排序。comparator自定义比较器,为空时比较的逻辑与原生sort相同。

Added in v0.0.1

Usage

ts
import { sortIndex } from 'parsnip-kit'
import { numberComparatorAsc } from 'parsnip-kit'
import { stringComparatorAsc } from 'parsnip-kit'

sort([1, 25, 4, 9, 16], (a, b) => a - b) // [1, 4, 9, 16, 25]
sortIndex([1, 25, 4, 9, 16], (a, b) => a - b) // [0, 4, 1, 2, 3]

sort([1, 25, 4, 9, 16]) // [1, 16, 25, 4, 9]
sortIndex([1, 25, 4, 9, 16]) // [0, 2, 3, 4, 1]

sort([1, 25, 4, 9, 16], numberComparatorAsc) // [1, 4, 9, 16, 25]
sortIndex([1, 25, 4, 9, 16], numberComparatorAsc) // [0, 4, 1, 2, 3]

sort(['1', '25', '4', '9', '16'], stringComparatorAsc)
// ['1', '16', '25', '4', '9']
sortIndex([1, 25, 4, 9, 16], stringComparatorAsc)
// [0, 2, 3, 4, 1]

API

Type Parameter

ArgTypeDescription
T数组元素类型

Arguments

ArgTypeOptionalDefaultDescription
arrT[]falseundefined待排序数组
comparator(a: T, b: T) => numbertrueundefined比较器

Returns

Type
number[]