README
nv-map-basic
- nv-map-basic
install
- npm install nv-map-basic
usage
example
const mp_bsc = require("nv-map-basic");
at
var mp0 = new Map([['a',100],['b',200],['c',300],['d',400]])
> mp_bsc.keyat(mp0,2)
'c'
> mp_bsc.idxat(mp0,'c')
2
>
key
> mp_bsc.fstkey(mp0)
'a'
> mp_bsc.lstkey(mp0)
'd'
>
iget
var mp0 = new Map([['a',100],['b',200],['c',300],['d',400]])
> mp_bsc.iget(mp0,2)
300
iset
var mp0 = new Map([['a',100],['b',200],['c',300],['d',400]])
> mp_bsc.iset(mp0,2,'C')
Map(4) { 'a' => 100, 'b' => 200, 'c' => 'C', 'd' => 400 }
> mp_bsc.iset(mp0,8,'...') //do nothing, if index NOT exist
Map(4) { 'a' => 100, 'b' => 200, 'c' => 'C', 'd' => 400 }
assign
var mp0 = new Map([['a',100],['b',200],['c',300],['d',400]])
var mp1 = new Map([['a',1000],['e',500]])
/*
> mp_bsc.assign(mp0,mp1)
Map(5) { 'a' => 1000, 'b' => 200, 'c' => 300, 'd' => 400, 'e' => 500 }
>
> mp0
Map(5) { 'a' => 1000, 'b' => 200, 'c' => 300, 'd' => 400, 'e' => 500 }
>
*/
slice
var mp = new Map([['a',100],['b',200],['c',300],['d',400]])
mp_bsc.slice(mp,1,3)
/*
> mp_bsc.slice(mp,1,3)
Map(2) { 'b' => 200, 'c' => 300 }
>
*/
mp_bsc.slice(mp,'b','d')
/*
> mp_bsc.slice(mp,'b','d')
Map(2) { 'b' => 200, 'c' => 300 }
> mp_bsc.slice(mp,'b',3)
Map(2) { 'b' => 200, 'c' => 300 }
>
*/
> mp_bsc.to_kvs(mp)
[
'a', 100, 'b',
200, 'c', 300,
'd', 400
]
>
push
var mp0 = new Map([['a',100],['b',200],['c',300],['d',400]])
var nmp = mp_bsc.push(mp0,'e',500,'f',600)
/*
> var nmp = mp_bsc.push(mp0,'e',500,'f',600)
undefined
> nmp
Map(6) {
'a' => 100,
'b' => 200,
'c' => 300,
'd' => 400,
'e' => 500,
'f' => 600
}
> mp0
Map(4) { 'a' => 100, 'b' => 200, 'c' => 300, 'd' => 400 }
>
*/
var mp1 = new Map([['e',500],['f',600]])
var nmp = mp_bsc.push_map(mp0,mp1)
/*
> var nmp = mp_bsc.push_map(mp0,mp1)
undefined
> nmp
Map(6) {
'a' => 100,
'b' => 200,
'c' => 300,
'd' => 400,
'e' => 500,
'f' => 600
}
> mp0
Map(4) { 'a' => 100, 'b' => 200, 'c' => 300, 'd' => 400 }
> mp1
Map(2) { 'e' => 500, 'f' => 600 }
>
*/
unshift
var mp0 = new Map([['a',100],['b',200],['c',300],['d',400]])
var mp1 = new Map([['e',500],['f',600]])
var nmp = mp_bsc.unshift_map(mp0,mp1)
/*
> nmp
Map(6) {
'e' => 500,
'f' => 600,
'a' => 100,
'b' => 200,
'c' => 300,
'd' => 400
}
> mp0
Map(4) { 'a' => 100, 'b' => 200, 'c' => 300, 'd' => 400 }
> mp1
Map(2) { 'e' => 500, 'f' => 600 }
>
*/
insert
var mp0 = new Map([['a',100],['b',200],['c',300],['d',400]])
var nmp = mp_bsc.insert_before(mp0,'b','e',500,'f',600)
/*
> var nmp = mp_bsc.insert_before(mp0,'b','e',500,'f',600)
undefined
> nmp
Map(6) {
'a' => 100,
'e' => 500,
'f' => 600,
'b' => 200,
'c' => 300,
'd' => 400
}
> mp0
Map(4) { 'a' => 100, 'b' => 200, 'c' => 300, 'd' => 400 }
>
*/
var mp0 = new Map([['a',100],['b',200],['c',300],['d',400]])
var nmp = mp_bsc.insert_before(mp0,1,'e',500,'f',600)
/*
> nmp
Map(6) {
'a' => 100,
'e' => 500,
'f' => 600,
'b' => 200,
'c' => 300,
'd' => 400
}
> mp0
Map(4) { 'a' => 100, 'b' => 200, 'c' => 300, 'd' => 400 }
>
*/
var mp1 = new Map([['e',500],['f',600]])
var nmp = mp_bsc.insert_map_before(mp0,'b',mp1)
/*
> nmp
Map(6) {
'a' => 100,
'e' => 500,
'f' => 600,
'b' => 200,
'c' => 300,
'd' => 400
}
> mp0
Map(4) { 'a' => 100, 'b' => 200, 'c' => 300, 'd' => 400 }
> mp1
Map(2) { 'e' => 500, 'f' => 600 }
>
*/
var mp0 = new Map([['a',100],['b',200],['c',300],['d',400]])
var nmp = mp_bsc.insert_after(mp0,1,'e',500,'f',600)
nmp
/*
Map(6) {
'a' => 100,
'b' => 200,
'e' => 500,
'f' => 600,
'c' => 300,
'd' => 400
}
*/
var nmp = mp_bsc.insert_after(mp0,'b','e',500,'f',600)
nmp
/*
Map(6) {
'a' => 100,
'b' => 200,
'e' => 500,
'f' => 600,
'c' => 300,
'd' => 400
}
*/
shift
/*
> var mp0 = new Map([['a',100],['b',200],['c',300],['d',400]])
undefined
> mp_bsc.shift(mp0)
[ [ 'a', 100 ] ]
> mp0
Map(3) { 'b' => 200, 'c' => 300, 'd' => 400 }
>
> var mp0 = new Map([['a',100],['b',200],['c',300],['d',400]])
undefined
> mp_bsc.shift_map(mp0)
Map(1) { 'a' => 100 }
> mp0
Map(3) { 'b' => 200, 'c' => 300, 'd' => 400 }
>
> var mp0 = new Map([['a',100],['b',200],['c',300],['d',400]])
undefined
> mp_bsc.shift_map(mp0,2)
Map(2) { 'a' => 100, 'b' => 200 }
>
*/
pop
/*
> var mp0 = new Map([['a',100],['b',200],['c',300],['d',400]])
undefined
> mp_bsc.pop(mp0)
[ [ 'd', 400 ] ]
>
> mp0
Map(3) { 'a' => 100, 'b' => 200, 'c' => 300 }
>
>
> var mp0 = new Map([['a',100],['b',200],['c',300],['d',400]])
undefined
> mp_bsc.pop(mp0,2,1)
[ [ 'b', 200 ], [ 'c', 300 ] ]
>
> mp0
Map(2) { 'a' => 100, 'd' => 400 }
> var mp0 = new Map([['a',100],['b',200],['c',300],['d',400]])
undefined
> mp_bsc.pop(mp0,2,0)
[ [ 'a', 100 ], [ 'b', 200 ] ]
>
> mp0
Map(2) { 'c' => 300, 'd' => 400 }
>
var mp0 = new Map([['a',100],['b',200],['c',300],['d',400]])
> mp_bsc.pop_map(mp0,2,2)
Map(2) { 'c' => 300, 'd' => 400 }
> mp0
Map(2) { 'a' => 100, 'b' => 200 }
>
*/
API
mp_bsc.cp(mp);
mp_bsc.to_dict(mp);
mp_bsc.to_wmap(mp);
mp_bsc.to_kvs(mp);
mp_bsc.mirror(mp);
mp_bsc.keyat(mp,index);
mp_bsc.idxat(mp,key);
mp_bsc.fstkey(mp);
mp_bsc.lstkey(mp);
mp_bsc.iget(mp,index);
mp_bsc.iset(mp,index,v);
mp_bsc.islice(mp,si,ei);
mp_bsc.kslice(mp,sk,ek);
mp_bsc.slice(mp,start_index_or_key,end_index_or_key);
mp_bsc.assign(mp0,mp1)
mp_bsc.push(mp,...kvs)
mp_bsc.push_map(mp,nmp)
mp_bsc.unshift(mp,...kvs)
mp_bsc.unshift_map(mp,nmp)
mp_bsc.insert_before_index(mp,index,...kvs)
mp_bsc.insert_before_key(mp,key,...kvs)
mp_bsc.insert_before(mp,iork,...kvs)
mp_bsc.insert_map_before_index(mp,index,nmp)
mp_bsc.insert_map_before_key(mp,key,nmp)
mp_bsc.insert_map_before(mp,iork,nmp)
mp_bsc.insert_after_index(mp,index,...kvs)
mp_bsc.insert_after_key(mp,key,...kvs)
mp_bsc.insert_after(mp,iork,...kvs)
mp_bsc.insert_map_after_index(mp,index,nmp)
mp_bsc.insert_map_after_key(mp,key,nmp)
mp_bsc.insert_map_after(mp,iork,nmp)
mp_bsc.ipop(mp,n=1,index=lst_index)
mp_bsc.ipop_map(mp,n=1,index=lst_index)
mp_bsc.kpop(mp,n=1,key=lst_key)
mp_bsc.kpop_map(mp,n=1,key=lst_key)
mp_bsc.pop(mp,n=1,index_or_key=lst_index)
mp_bsc.pop_map(mp,n=1,index_or_key=lst_index)
mp_bsc.shift(mp,n=1)
mp_bsc.shift_map(mp,n=1)
LICENSE
- ISC