递归遍历嵌套数组

907 阅读1分钟
<body>
    <div class="con"></div>
    <script>
        let arr = [
            {
                name: "a",
                children: [
                    {
                        name: "a-1",
                        children: [
                            {
                                name: "a-1-1"
                            }
                        ]
                    }
                ]
            },
            {
                name: "b"
            },
            {
                name: "c"
            },
            {
                name: "d"
            }
        ]
        function createMenu(data, con) {
            let ul = $('<ul/>')
            data.forEach(item => {
                let li = $('<li/>').text(item.name)
                if (item.children)
                    createMenu(item.children, li)
                ul.append(li)
            })
            con.append(ul)
        }
        createMenu(arr,$(".con"))
    </script>
</body>