HierarchyJS
Elegant and lightweight library for working with data structures
Features
- Creating a tree structure from a flat list
- Creating a flat list from a tree structure
- Flexible parametrization
Install
npm install hierarchy-js
Methods
createTreeHierarchy (elements, options)
createFlatHierarchy (elements, options)
- elements,
[]
- the array on which the passage is carried out. - options,
{}
- props for parametrization
Default options
id: 'id' // find item by this key parentId: 'parentId' // find parent by this key children: 'children' // create or find children by this key excludeParent: false // if `true`, not include root parents to result saveExtractedChildren: false // if `true`, not delete children list from descendants
How to use
Tree structure with default options
const flatList = id: 1 id: 2 parentId: 1 id: 3 parentId: 2 id: 4 parentId: 'any' const tree = // tree "id": 1 "children": "id": 2 "parentId": 1 "children": "id": 3 "parentId": 2 "id": 4 "parentId": "any"
Flat list with options
const options = id: 'itemId' parentId: 'parentItemId' children: 'items' const tree = itemId: 1 items: itemId: 2 parentItemId: 1 items: itemId: 3 parentItemId: 2 itemId: 4 parentItemId: 'any' const faltList = // faltList itemId: 1 itemId: 2 parentItemId: 1 itemId: 3 parentItemId: 2 itemId: 4 parentItemId: 'any'
Tests
npm test