“Как использовать рекурсивную функцию, чтобы выбрать родителя в массиве деревьев с помощью angulat usi” Ответ

Как использовать рекурсивную функцию, чтобы выбрать родителя в массиве деревьев с помощью angulat usi


function buildTree() {
    TreeService.getTree().then(function (result) {
        tc.tree = result.data;
        
        function setParentForChildren(n) {
            angular.forEach(n.children, function (c) {
                c.parent = n;
                setParentForChildren(c);
            })
        }
        angular.forEach(tc.tree, setParentForChildren);
    }, function (result) {
        alert("Tree no available, Error: " + result);
    });
}
SAMER SAEID

Как использовать рекурсивную функцию, чтобы выбрать родителя в массиве деревьев с помощью angulat usi

$scope.checkNode = function (node) {
    node.checked = !node.checked;
    function checkParent(n) {
        if (!n.parent)
            return;
        const p = n.parent;
        p.checked = p.children.every(function(c) { return c.checked });
        checkParent(p);
    }
    
    checkParent(node);

    function checkChildren(c) {
        angular.forEach(c.children, function (c) {
            c.checked = node.checked;
            checkChildren(c);
        });
    }

    checkChildren(node);
};
SAMER SAEID

Ответы похожие на “Как использовать рекурсивную функцию, чтобы выбрать родителя в массиве деревьев с помощью angulat usi”

Вопросы похожие на “Как использовать рекурсивную функцию, чтобы выбрать родителя в массиве деревьев с помощью angulat usi”

Больше похожих ответов на “Как использовать рекурсивную функцию, чтобы выбрать родителя в массиве деревьев с помощью angulat usi” по JavaScript

Смотреть популярные ответы по языку

Смотреть другие языки программирования