Skip to content

sortIndex

Static Badge

输入数组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(['a', 'b', 'A', 'B', 'c'], stringComparatorAsc)
// ['a', 'A', 'b', 'B', 'c']
sortIndex(['a', 'b', 'A', 'B', 'c'], stringComparatorAsc)
// [0, 2, 1, 3, 4]

API

Type Parameter

ArgTypeDescription
T数组元素类型

Arguments

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

Returns

Type
number[]