nv-dict-group

nv-dict-group ============ - nv-dict-group

Usage no npm install needed!

<script type="module">
  import nvDictGroup from 'https://cdn.skypack.dev/nv-dict-group';
</script>

README

nv-dict-group

  • nv-dict-group

install

  • npm install nv-dict-group

usage

example

const dict_grp = require("nv-dict-group")

>     var d = {a:100,b:200,c:100,d:200}
undefined
>
>     dict_grp.vgrp(d)
Map(2) {
  100 => [ { v: 100, k: 'a', i: 0 }, { v: 100, k: 'c', i: 2 } ],
  200 => [ { v: 200, k: 'b', i: 1 }, { v: 200, k: 'd', i: 3 } ]
}
>
>     var d = {1:6,2:3,3:2,5:1}
undefined
>
>     dict_grp.fgrp(d,(v,k,i)=>v+parseInt(k))
Map(3) {
  7 => [ { v: 6, k: '1', i: 0 } ],
  5 => [ { v: 3, k: '2', i: 1 }, { v: 2, k: '3', i: 2 } ],
  6 => [ { v: 1, k: '5', i: 3 } ]
}
>



    > var d = {
       A: {a:'g0',b:'g0'},
       B: {a:'g0',b:'g1'},
       C: {a:'g0',b:'g0'},
    }
    
    > var mp = kset(d,(v,k,i)=>JSON.stringify(v))
    
    > mp
    Map(2) {
      '{"a":"g0","b":"g0"}' => Set(2) { 'A', 'C' },
      '{"a":"g0","b":"g1"}' => Set(1) { 'B' }
    }
    >

API

  • dict_grp.fgrp(d,fltr_func)
  • dict_grp.vgrp(d)
  • dict_grp.klgrp(d)
  • dict_grp.vlgrp(d)
  • dict_grp.fgrp_engine(rtrn_func,d,fltr_func)
  • dict_grp.kset(d,sign_func=(v,k,i)=>JSON.stringify(v))

LICENSE

  • ISC