javascript - 获取树列表的级别 - JavaScript

标签 javascript jquery recursion treeview

我有一个 javascript 函数,可以将平面树列表转换为多维数组。我希望此函数还为每个项目添加一个 tree_level 属性。

    function getNestedChildren(arr, parent) {
    var out = []
    for (var i in arr) {    
            if (arr[i].headerId == parent) {
                var children = getNestedChildren(arr, arr[i].workID)

                if (children.length) {
                    arr[i].children = children
                }
                out.push(arr[i])
            }
    }
    return out
}

最佳答案

添加树级参数:

function getNestedChildren(arr, parent, level) {
    var out = []
    for (var i in arr) {  
            if (arr[i].headerId == parent) {
                arr[i].level = level;

                var children = getNestedChildren(arr, arr[i].workID, level + 1)

                if (children.length) {
                    arr[i].children = children
                }
                out.push(arr[i])
            }
    }
    return out
}

关于javascript - 获取树列表的级别 - JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45486745/

相关文章:

jQuery:处理 id 属性中的空格

java - 1 - 10000 Java 之间友好数字的递归方法

javascript - clearTimeout 可以与 let 和 const 一起使用吗?

javascript - 调用 javascript 函数时无法读取 $_POST 数据

javascript - 网速慢或数据加载过多会影响onclick slideToggle()功能吗?

javascript - 用于同一元素中重复元素的 JQuery 选择器

javascript - ng-change 带有前导零的值 - 零消失了 Controller

javascript - jQuery slideUp 然后在鼠标悬停时 slideDown

algorithm - 找不到可以找到为产品列表应用优惠券代码的最佳方式的算法

c++ - 二叉搜索树插入中迭代和递归的区别