如何使用lodash从孩子那里找到父母的名字并打印路径

Nidhin kumar

我有如下收藏

const tree = [
    {
        id: 1,
        class_name: 'Home',
        parent_id: 0,
    },
    {
        id: 2,
        class_name: 'Folder1',
        parent_id: 1,
    },
    {
        id: 3,
        class_name: 'Folder2',
        parent_id: 1,
    },
    {
        id: 4,
        class_name: 'SubFolder1',
        parent_id: 2
    },
    {
        id: 5,
        class_name: 'EndFolder1',
        parent_id: 4
    }
]

在这个集合中,我知道子类名为SubFolder1的子类,其父ID为ID 4,父ID为2,我需要遍历根节点以查找以下路径。父ID充当每个对象的ID。

SubFolder1
Folder1/SubFolder1
Home/Folder1/SubFolder1

我尝试用lodash查找在一个级别停止,当parent_id为0时,我需要遍历到它的根,并添加路径。

 if (temp.parent_id !== '0') {
    temp = find(tree, {id: temp.parent_id});
 } else {
    tempClassName = `${temp.class_name}`;
 }
妮娜·斯科茨(Nina Scholz)

您可以将具有所有节点的对象id作为键并获取所有父对象,直到没有id可用对象为止

const
    getParents = (array, id) => {
        const
            nodes = array.reduce((r, o) => (r[o.id] = o, r), {}),
            getP = id => id in nodes
                ? [...getP(nodes[id].parent_id), nodes[id].class_name]
                : [];
        return getP(id).join('/');
    },
    array = [{ id: 1, class_name: 'Home', parent_id: 0 }, { id: 2, class_name: 'Folder1', parent_id: 1 }, { id: 3, class_name: 'Folder2', parent_id: 1 }, { id: 4, class_name: 'SubFolder1', parent_id: 2 }, { id: 5, class_name: 'EndFolder1', parent_id: 4 }];

console.log(getParents(array, 4));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从孩子那里获得父母的财产?

来自分类Dev

如何从孩子那里获得父母的财产?

来自分类Dev

Python多重处理。您如何从孩子那里获得父母的身份?

来自分类Dev

从Django的孩子那里获得父母

来自分类Dev

孩子从父母那里扩大

来自分类Dev

如何使用jQuery使孩子成为父母的父母?

来自分类Dev

ReactJS-孩子如何找到其父母?

来自分类Dev

ReactJS-孩子如何找到其父母?

来自分类Dev

从孩子访问父母的名字范围

来自分类Dev

从孩子访问父母的名字范围

来自分类Dev

从父母那里获得孩子班

来自分类Dev

(Delphi)从父母那里打电话给孩子

来自分类Dev

我如何使用班级的父母和孩子?

来自分类Dev

ActiveRecord:如何找到所有孩子都符合条件的父母?

来自分类Dev

Angular 2-如何从父母那里触发一个孩子的方法

来自分类Dev

对从孩子那里获得父母道具的正确方法做出反应

来自分类Dev

休眠单向一对多:从孩子那里坚持父母

来自分类Dev

递归地从单亲父母那里获得所有孩子

来自分类Dev

休眠单向一对多:从孩子那里坚持下来的父母

来自分类Dev

父母poms可以从孩子那里获得财产吗?

来自分类Dev

父母为什么不能从孩子那里读

来自分类Dev

查询以从父母和孩子那里检索缺陷

来自分类Dev

如何从孩子向父母的父母发送数据

来自分类Dev

如何使用querySelector而不是jQuery查找父母的孩子?

来自分类Dev

如何在父母静态方法中使用孩子的变量?

来自分类Dev

使用动态身高父母时如何阻止孩子修剪?

来自分类Dev

如何使用角度计算孩子的总数并在父母中显示

来自分类Dev

如何获得父母元素的孩子?

来自分类Dev

如何使孩子的跨度与父母崩溃

Related 相关文章

热门标签

归档