nv-array-sort
install
- npm install nv-array-sort
usage
example
const ary_sort = require("nv-array-sort")
var arr = [10,9,5,300,200,100,8,6,8]
ary_sort.slice(arr,3,6)
//[10, 9, 5, 100, 200,300, 8, 6,8]
var refer = [4, 2, 1, 3, 0 ]
var arr = ['e','c','b','d','a']
ary_sort.ref(arr,refer)
// refer [ 0, 1, 2, 3, 4 ]
// arr [ 'a', 'b', 'c', 'd', 'e' ]
var refer = [4, 2, 1, 3, 0 ]
var l0 = ['e','c','b','d','a']
var l1 = ['y','w','v','x','u']
var l2 = [400,200,100,300,0]
var lists = [l0,l1,l2]
ary_sort.bat(lists,refer)
//refer [ 0, 1, 2, 3, 4 ]
//l0 [ 'a', 'b', 'c', 'd', 'e' ]
//l1 [ 'u', 'v', 'w', 'x', 'y' ]
//l2 [ 0, 100, 200, 300, 400 ]
var arr = [300,10,9,200,6,100,8]
var whiches = [3,0,5]
ary_sort.some(arr,whiches)
//arr [100, 10, 9, 200,6, 300, 8]
var sorted_arr = [0, 4, 6, 8, 10, 14]
ary_sort.wherei(sorted_arr,4)
//[1,2]
ary_sort.wherei(sorted_arr,5)
//[1,2]
ary_sort.wherei(sorted_arr,6)
//[2,3]
lbi(sorted_arr,4)
//1 lower-bound-index
ubi(sorted_arr,4)
//2 upper-bound-index
ary_sort.wherev(sorted_arr,4)
//[4,6]
ary_sort.wherei(sorted_arr,5)
//[4,6]
ary_sort.wherei(sorted_arr,6)
//[6,8]
lbvsorted_arr,4)
//4 lower-bound-value
ubv(sorted_arr,4)
//6 upper-bound-value
> var ref=[1,2,3,4,5,6]
undefined
> match_partial_order(ref,[2,5,6],r=>r)
true
> match_partial_order(ref,[5,2,6],r=>r)
false
>
cmp
const {DFLT_CMP_FUNC,cmp} = require("nv-array-sort")
> var ary0= [0,0,1]
undefined
> var ary1= [0,1,1]
undefined
> cmp(ary0,ary1)
-1
> var ary0= [0,0]
undefined
> var ary1= [0,0,0]
undefined
> cmp(ary0,ary1)
-1
>
> cmp(ary0,ary1,DFLT_CMP_FUNC,0)
0
> cmp(ary0,ary1,DFLT_CMP_FUNC,1)
1
> DFLT_CMP_FUNC.toString()
'(r,e)=>e<r?1:r<e?-1:0'
>
[
[0,0],
[0],
[1],
[0,0,0],
[0,0,1],
[0,0,1,0],
[1,0],
[1,3],
[1,2],
[1,1],
[]
].sort(cmp)
[
[], [ 0 ],
[ 0, 0 ], [ 0, 0, 0 ],
[ 0, 0, 1 ], [ 0, 0, 1, 0 ],
[ 1 ], [ 1, 0 ],
[ 1, 1 ], [ 1, 2 ],
[ 1, 3 ]
]
>
API
- ary_sort.num(arr)
- ary_sort.ref(arr,refer,cmp_func)
- ary_sort.bat(lists,refer,cmp_func)
- ary_sort.slice(arr,si,ei,cmp_func)
- ary_sort.some(arr,whiches,cmp_func)
- ary_sort.wherev(sorted_arr,v)
- ary_sort.wherei(sorted_arr,v)
- ary_sort.lbv(sorted_arr,v)
- ary_sort.lbi(sorted_arr,v)
- ary_sort.ubv(sorted_arr,v)
- ary_sort.ubi(sorted_arr,v)
- ary_sort.match_partial_order(ref,ary,f=(r,i)=>r)
- DFLT_CMP_FUNC
- ary_cmp(ary0,ary1,cmp_func=DFLT_CMP_FUNC,rtrn_if_empty=-1)
LICENSE