This commit is contained in:
毛财君
2023-07-06 17:37:33 +08:00
parent 06f26608af
commit 197b38ca6f
816 changed files with 236883 additions and 989 deletions

View File

@@ -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