美文网首页
JS根据子节点递归获取所有父节点的集合

JS根据子节点递归获取所有父节点的集合

作者: 百里春秋1 | 来源:发表于2020-11-07 17:20 被阅读0次

    //传入参数:需要遍历的对象,需要匹配的id,获取所有的父级节点的Id

    注意:data2必须是个对象,数组可以改写为{children: dataList, id: 0}

            findIdList(data2, id, level) {

                var arrRes = [];

                let rev = (data, id, level) => {

                    if (!data) {

                        return;

                    }

                    for (var i = 0; i < data.children.length; i++) {

                        let item = data.children[i];

                        if (item.id == id) {

                            // 将匹配到的结果保存到数组

                            arrRes.unshift({level, activeId: item.id});

                            // 递归它的父级

                            rev(data2, data.id, 0);

                            break;

                        } else if (item.children && item.children.length > 0) {

                            //如果有子集,则把子集作为参数重新执行本方法

                            rev(item, id, level + 1);

                        }

                    }

                };

                rev(data2, id, level);

                return arrRes;

            },

    相关文章

      网友评论

          本文标题:JS根据子节点递归获取所有父节点的集合

          本文链接:https://www.haomeiwen.com/subject/yjgbvktx.html