Simple prefix-tree
Class to work with prefix tree. API is similiar to native Map.
npm install --save prefix-tree
var Tree = require('prefix-tree');
var tree = new Tree([['hi', 42,] ['hello', 'world'], ['xo', 'xo']]);
tree.get('h');
// → [ 42, 'world']
tree.set('xxx', { '42': 42 });
tree.get('x');
// → [ 'xo', { '42': 42 }]
Parameter | Type | Description |
---|---|---|
items |
array |
optional Array of key-value pairs |
Example:
var tree = new PrefixTree([ ['key', 'value'], ['key2', 'value2'] ]);
var tree2 = new PrefixTree();
Parameter | Type | Description |
---|---|---|
key |
string |
key to search prefix in |
value |
any |
Anything you want to store |
Add value to prefix tree.
Example:
var tree = new PrefixTree();
tree.set('hello', 'world');
Parameter | Type | Description |
---|---|---|
prefix |
string |
prefix to search values |
Get values for a prefix.
Example:
var tree = new PrefixTree();
tree
.set('hell', 666);
.set('hello', 'world');
tree.get('he');
// → [666, 'world']
For debug purpose you could use toString() method.
NB For perfomance module load inspection only with NODE_ENV === 'development'
NODE_ENV='development' node -e "console.log('' + new (require('prefix-tree'))([['hello', 'hello'], ['hi', 'hi'], ['hell', 'hell']]))"
[root]
└── h
├── e
│ └── l
│ └── l : hell
│ └── o : hello
└── i : hi
Code released under the MIT.