Data oriented tree structure that unleashes the power of callbacks to create, search and traverse the tree.
$ npm install data-tree
Then use via require('data-tree')
OR use browserified build available at dataTree.min.js in <script/>
tag.
Following examples will guide you about how to create tree, insert/remove nodes and search/traverse a tree. Don't forget to check Data-Tree reference.
dataTree
is global variable that can be used to create a tree in following way.
var tree = dataTree.create();
// Insert single value
tree.insert(183);
// Insert array of values
// NOTE: This does not create 3 different nodes. It considers an array as a whole data and puts in a single node.
tree.insert([34, 565, 78]);
// Insert Objects
tree.insert({
key: '#berries',
value: { name: 'Apple', color: 'Red'}
});
// Insert data
tree.insert({
key: '#apple',
value: { name: 'Apple', color: 'Red'}
});
// New Data
var greenApple = {
key: '#greenapple',
value: { name: 'Green Apple', color: 'Green' }
};
// Insert data to node which has `key` = #apple
tree.insertTo(function(data){
return data.key === '#apple'
}, greenApple);
// Insert data
var node = tree.insert({
key: '#apple',
value: { name: 'Apple', color: 'Red'}
});
// New Data
var greenApple = {
key: '#greenapple',
value: { name: 'Green Apple', color: 'Green' }
};
// Insert data to node
// This will create a new node with given data and append to parent node provided
tree.insertToNode(node, greenApple);
// Insert Node
var node = tree.insert({
key: '#apple',
value: { name: 'Apple', color: 'Red'}
});
// Remove it
tree.remove(node);
var node = tree.traverser().searchBFS(function(data){
return data.key === '#apple';
});
var node = tree.traverser().searchDFS(function(data){
return data.key === '#apple';
});
tree.traverser().traverseBFS(function(node){
console.log(node.data());
});
tree.traverser().traverseDFS(function(node){
console.log(node.data());
});
cd
into itnpm install
grunt build
to build browserify files OR grunt watch
to build automatically upon file change.