wux-weapp
Version:
一套组件化、可复用、易扩展的微信小程序 UI 组件库
24 lines (23 loc) • 645 B
JavaScript
/**
* https://github.com/afc163/array-tree-filter
*/
function arrayTreeFilter(data, filterFn, options) {
options = options || {}
options.childrenKeyName = options.childrenKeyName || 'children'
let children = data || []
const result = []
let level = 0
do {
const foundItem = children.filter(function(item) {
return filterFn(item, level)
})[0]
if (!foundItem) {
break
}
result.push(foundItem)
children = foundItem[options.childrenKeyName] || []
level += 1
} while (children.length > 0)
return result
}
export default arrayTreeFilter