1
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
var setupDefaults = require('./setupDefaults')
|
||||
|
||||
var each = require('./each')
|
||||
|
||||
var assign = require('./assign')
|
||||
|
||||
function unTreeList (result, array, opts) {
|
||||
var optChildren = opts.children
|
||||
var optData = opts.data
|
||||
var optClear = opts.clear
|
||||
each(array, function (item) {
|
||||
var children = item[optChildren]
|
||||
if (optData) {
|
||||
item = item[optData]
|
||||
}
|
||||
result.push(item)
|
||||
if (children && children.length) {
|
||||
unTreeList(result, children, opts)
|
||||
}
|
||||
if (optClear) {
|
||||
delete item[optChildren]
|
||||
}
|
||||
})
|
||||
return result
|
||||
}
|
||||
|
||||
/**
|
||||
* 将一个树结构转成数组列表
|
||||
*
|
||||
* @param {Array} array 数组
|
||||
* @param {Object} options { children: 'children', data: 'data', clear: false }
|
||||
* @return {Array}
|
||||
*/
|
||||
function toTreeArray (array, options) {
|
||||
return unTreeList([], array, assign({}, setupDefaults.treeOptions, options))
|
||||
}
|
||||
|
||||
module.exports = toTreeArray
|
||||
Reference in New Issue
Block a user