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(['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
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[] |