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
Arg | Type | Description |
---|---|---|
T |
| 数组元素类型 |
Arguments
Arg | Type | Optional | Default | Description |
---|---|---|---|---|
arr | T[] | false | undefined | 待排序数组 |
comparator | (a: T, b: T) => number | true | undefined | 比较器 |
Returns
Type |
---|
number[] |