nv-map-basic

nv-map-basic =============== - nv-map-basic

Usage no npm install needed!

<script type="module">
  import nvMapBasic from 'https://cdn.skypack.dev/nv-map-basic';
</script>

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