linkmore-design
Version:
π πlmη»δ»ΆεΊγπ
32 lines β’ 832 B
JavaScript
/**
* ζ₯ζΎεζζ θηΉ
* @param tree
* @param func
* @param options
* @returns
*/
export var treeFind = function treeFind(tree, func) {
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
var _options$children = options.children,
children = _options$children === void 0 ? 'children' : _options$children;
var list = [];
if (Array.isArray(tree)) {
list = tree;
} else if (Object.prototype.toString.call(tree) === '[object Object]') {
list.push(tree);
}
for (var i = 0; i < list.length; i += 1) {
var data = list[i];
if (func(data)) {
return data;
}
if (data["".concat(children)]) {
var res = treeFind(data["".concat(children)], func, options);
if (res) {
return res;
}
}
}
return null;
};
export default {};