JSFiddle - React, Tailwind, and code Playground

by mojtaba

JavaScript

function iterate(obj) {
        // we will write the parent and the name
        console.log(obj.parent + ' | ' + obj.name);
        
        // if it has children
        if (obj.children.length) {
            // for each child
            for (var i = 0, l = obj.children.length; i < l; i++) {
                // we will call this function again
                arguments.callee(obj.children[i]);
            }
        }
    }
    


    var obj = {
        name: 'P1',
        parent: undefined,
        children: [
            {
                name: 'P2',
                parent: 'P1',
                children: []
            },
            {
                name: 'P3',
                parent: 'P1',
                children: [
                    {
                        name: 'P4',
                        parent: 'P3',
                        children: [
                            {
                                name: 'P5',
                                parent: 'P4',
                                children: []
                            }
                        ]
                    }
                ]
            },
            {
                name: 'P6',
                parent: 'P1',
                children: []
            }
        ]
    };



    iterate(obj);