3.3.2 • Published 5 years ago
array-to-tree v3.3.2
array-to-tree
Convert a plain array of nodes (with pointers to parent nodes) to a nested data structure.
Solves a problem with conversion of retrieved from a database sets of data to a nested data structure (i.e. navigation tree).
Installation
$ npm install array-to-tree --save
Usage
var arrayToTree = require('array-to-tree');
var dataOne = [
{
id: 1,
name: 'Portfolio',
parent_id: undefined
},
{
id: 2,
name: 'Web Development',
parent_id: 1
},
{
id: 3,
name: 'Recent Works',
parent_id: 2
},
{
id: 4,
name: 'About Me',
parent_id: undefined
}
];
arrayToTree(dataOne);
/*
* Output:
*
* Portfolio
* Web Development
* Recent Works
* About Me
*/
var dataTwo = [
{
_id: 'ec654ec1-7f8f-11e3-ae96-b385f4bc450c',
name: 'Portfolio',
parent: null
},
{
_id: 'ec666030-7f8f-11e3-ae96-0123456789ab',
name: 'Web Development',
parent: 'ec654ec1-7f8f-11e3-ae96-b385f4bc450c'
},
{
_id: 'ec66fc70-7f8f-11e3-ae96-000000000000',
name: 'Recent Works',
parent: 'ec666030-7f8f-11e3-ae96-0123456789ab'
},
{
_id: '32a4fbed-676d-47f9-a321-cb2f267e2918',
name: 'About Me',
parent: null
}
];
arrayToTree(dataTwo, {
parentProperty: 'parent',
customID: '_id'
});
/*
* Output:
*
* Portfolio
* Web Development
* Recent Works
* About Me
*/
API
arrayToTree(data, [options])
Convert a plain array of nodes (with pointers to parent nodes) to a a nested data structure.
Parameters
- Array
data
: An array of data - Object
options
: An object containing the following fields:parentProperty
(String): A name of a property where a link to a parent node could be found. Default: 'parent_id'.childrenProperty
(String): A name of a property where children nodes are going to be stored. Default: 'children'.customID
(String): An unique node identifier. Default: 'id'.
Return
- Array: Result of transformation
License
MIT © Philipp Alferov
3.3.2
5 years ago
3.3.0
7 years ago
3.2.1
7 years ago
3.2.0
7 years ago
3.1.0
7 years ago
3.0.0
7 years ago
2.2.1
8 years ago
2.2.0
8 years ago
2.1.13
9 years ago
2.1.12
9 years ago
2.1.11
10 years ago
2.1.10
10 years ago
2.1.9
10 years ago
2.1.8
10 years ago
2.1.7
10 years ago
2.1.5
10 years ago
1.1.5
10 years ago
1.1.4
10 years ago
1.1.2
10 years ago
1.1.1
10 years ago
1.1.0
10 years ago
1.0.0
10 years ago
0.5.2
10 years ago
0.5.1
10 years ago
0.5.0
10 years ago