js遍历所有子树

news/2024/7/24 12:34:13 标签: node.js, javascript
javascript"><script>
    let tree = [{
            id: '1',
            title: '节点1',
            children: [{
                    id: '1-1',
                    title: '节点1-1'
                },
                {
                    id: '1-2',
                    title: '节点1-2'
                }
            ]
        },
        {
            id: '2',
            title: '节点2',
            children: [{
                id: '2-1',
                title: '节点2-1'
            }]
        }
    ]

    function treeForeach(tree, func) {
        tree.forEach((data) => {
            func(data)
            data.children && treeForeach(data.children, func) // 遍历子树
        })
    }
    treeForeach(tree, node => {
        console.log(node.title)
    })
</script>

http://www.niftyadmin.cn/n/509754.html

相关文章

关于strlen与sizeof的区别

strlen是用来计算字符串的字符个数&#xff0c;但不包括字符串中最后的结束符\0 如图代码第30行所示&#xff0c;显示结果为6&#xff0c;不包含arr[ ]里隐藏的\0 sizeof是用来计算不同类型或变量所占内存的大小&#xff0c;如图第33行计算第28行代码字符数组arr[ ]的大小&am…

向大家介绍一位牛逼的IT老师 => 廖神

廖雪峰的官方网站&#xff1a;https://www.liaoxuefeng.com/ 开课吧合伙人,全栈工程师,畅销书《Spring2.0核心技术与最佳实践》作者&#xff0c;曾任西门子、摩托罗拉、火币网等知名公司高级技术专家 官方博客著有Java、JavaScript、Git、数字货币、Python等教程,是程序员常用…

js瀑布流触底动态加载数据

// onScrollEvent 滚动条事件<div class"box" ref"box" mousewheel"onScrollEvent">//每一个方块内的内容start<div class"boxItemStyle" v-for"(userTag, i) in dataSource" :key"i" ref"boxItemS…

【JS】面向对象

文章目录面向对象创建对象工厂函数创建自定义构造函数创建个人总结面向对象 首先&#xff0c;我们要明确&#xff0c;面向对象不是语法&#xff0c;是一个思想&#xff0c;是一种 编程模式面向&#xff1a; 面&#xff08;脸&#xff09;&#xff0c;向&#xff08;朝着&#…

JavaScript_手风琴效果(一)

文章目录效果图&#xff1a;需求分析&#xff1a;源代码&#xff1a;所用图片&#xff1a;效果图&#xff1a; 未展开时的效果 鼠标悬浮在其上的效果 需求分析&#xff1a; 在每个 li 里面设置一个图片鼠标移出 ul ,每个 li 的宽度变成240鼠标移入某个 li ,当前 li 的宽度变成…

vue 简易弹框

很简易的弹出框&#xff0c;不想写样式了&#xff0c;凑活看吧 modal.vue <!--* Description: * Version: 1.0* author: shihaixia* Date: 2021-09-14 15:38:27 --> <template><transition name"mask-bg-fade"><div class"modal" v…

手写vue-router

main.js import Vue from "vue"; import App from "./App.vue"; // 手动封装的krouter import router from ./krouter new Vue({router,render: h > h(App) }).$mount("#app");krouter.js import Vue from vue //组件引入 import Home from…

JavaScript_星级评分(一)

文章目录效果图&#xff1a;需求分析&#xff1a;源代码&#xff1a;所用图片&#xff1a;效果图&#xff1a; 需求分析&#xff1a; 鼠标移入哪个星星&#xff0c;哪个星星及其前面的星星都高亮同时显示相应文字鼠标点击哪个星星&#xff0c;哪个星星及其前面的星星都高亮鼠标…