An alternative of list-to-tree-lite by sinnbo.com.
list-to-tree-lite
A simple function converts a flat-list of objects with id
, parent
and children
to a tree-list of objects.
without any dependencies.
[{
id: 6,
any: 'opps'
}, {
id: 2,
parent: 5,
any: 'foo',
}, {
id: 1,
parent: 2,
any: 'bar'
}, {
id: 5,
any: 'hello'
}, {
id: 3,
parent: 2,
any: 'other'
}]
to
[{
id: 6,
any: 'opps',
children: []
}, {
id: 5,
any: 'hello',
children: [{
id: 2,
parent: 5,
any: 'foo',
children: [{
id: 1,
parent: 2,
any: 'bar',
children: []
}, {
id: 3,
parent: 2,
any: 'other',
children: []
}]
}]
}]
Usage
listToTree(list[, options])
options.idKey
the id key of the item object, default id
options.parentKey
the parent key of the item object, default parent
options.childrenKey
the children key of the item object, default children
options.mustChild
用于控制子节点为空数组时,节点本身是否显示children属性,为true时显示空数组,反之不显示
Install
npm install list-to-tree-lite-sinnbo --save
Test
npm run test
License
MIT:http://william17.mit-license.org