function getParentLabelByValue(
array: Array<any>,
id: string|number,
fieldNames: FilesName = { value: 'id', label: 'name', children: 'children' }
): Array<string> {
const stack = [];
let going = true;
const walker = (array, id) => {
array.forEach((item: any) => {
if (!going) return;
stack.push(item[fieldNames.label]);
if (item[fieldNames.value] === id) {
going = false;
} else if (item[fieldNames.children]) {
walker(item[fieldNames.children], id);
} else {
stack.pop();
}
});
if (going) stack.pop();
};
walker(array, id);
return stack;
}
算法查询树并拼接名称
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- Python算法教程第二章知识点:计时模块、字典与散哈希表、图与树的实现、成员查询、插入对象
- 数组拼接方法一 思路:首先将数组转成列表,然后利用列表的拼接函数append()、extend()等进行拼接处理,...
- 内容转换器与预估器KNN算法模型选择与调优朴素贝叶斯算法决策树与随机森林转换器与预估器特征工程流程 1.实例化一个...