js计算之递归
看以下js代码:
var w = [{
        label: '你好',
        node: [
            {
                label: '你好啊',
                node: [{
                    label: "还好",
                    node: []
                }, {
                    label: '你好吧',
                    node: []
                },{
                    label: "还好",
                    node: []
                }, {
                    label: '你好吧',
                    node: [
                        {
                            label: "还好",
                            node: []
                        }, {
                            label: '你好吧',
                            node: []
                        }
                    ]
                }]
            }
        ]
    },
        {
            label: '我来了',
            node: []
        }
    ]
怎么找出上面所有的label值,上面就是一个树型结构;
用递归遍历里面的所有对象如下:
var b = [];
function digui(c) {
for (var i = 0; i < c.length; i++) {
if (c[i].node.length === 0) {
b.push(c[i].label)
} else {
b.push(c[i].label)
digui(c[i].node)
}
}
}
digui(w)
console.log(b);
js计算之递归的更多相关文章
- JS计算字符串所占字节数
		最近项目有个需求要用js计算一串字符串写入到localStorage里所占的内存,众所周知的,js是使用Unicode编码的.而Unicode的实现有N种,其中用的最多的就是UTF-8和UTF-16. ... 
- js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数
		js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数 >>>>>>>>>>>>>>>>>& ... 
- <经验杂谈>介绍Js简单的递归排列组合
		最近在开发SKU模块的时候,遇到这样一个需求,某种商品有N(用未知数N来表示是因为规格的数组由用户制定且随时可以编辑的,所以对程序来说,它是一个未知数)类规格,每一类规格又有M个规格值,各种规格值的组 ... 
- js 计算快速统计中用到的日期
		前言 最近在做统计报表模块,其中查询条件用到了快速查询,主要为了方便客户统计查询常用的几个日期纬度,比如本周.上周.本月.上月.昨日. 使用js计算,主要用到了js Date. getDate().g ... 
- js计算两个日期的天数差值
		js计算两个日期的天数差值 通过两个日期计算这两个日期之间的天数差值 /** * 计算天数差的函数,通用 * @param sDate1 * @param sDate2 * @returns {Num ... 
- js计算字符串的字节数和字符串与二进制的相互转化
		一.js计算字符串的字节数方法: //blob获取字符串的字节 var debug = "好的"; var blob = new Blob([debug],{type : 'tex ... 
- JS计算前一天或后一天,前一月后一月
		JS计算前一天或后一天,前一月后一月,上一天下一下,上一月下一月. 方法一: function ktkGetNextMonth(currentDate, scaleStep) { //scaleSte ... 
- Vue.js 计算属性是什么
		Vue.js 计算属性是什么 一.总结 一句话总结: 模板 表达式 维护 在模板中表达式非常便利,但是它们实际上只用于简单的操作.模板是为了描述视图的结构.在模板中放入太多的逻辑会让模板过重且难以维护 ... 
- 【javascript基础】JS计算字符串所占字节数
		废话不说,直接正题吧. 最近项目有个需求要用js计算一串字符串写入到localStorage里所占的内存,众所周知的,js是使用Unicode编码的.而Unicode的实现有N种,其中用的最多的就是U ... 
随机推荐
- filebeat配置不同路径下的log的两种方法
			第一种方法: vim /etc/filebeat/filebeat.yml filebeat.inputs: # Each - is an input. Most options can be set ... 
- Notepad++ 更换主题+字体
			Notepad++ 更换主题 https://blog.csdn.net/haluoluo211/article/details/51922666 延伸: 挑选主题 https://blog.csdn ... 
- bat批处理异备文件、压缩文件
			1.压缩本地文件,并把压缩后的文件复制到其他机器 net use Z: \\192.168.135.1\share_linux a123456! /user:chaoqun.guo set bath= ... 
- IPFS搭建&集群
			下载go-ipfs wget https://github.com/ipfs/go-ipfs/releases/download/v0.4.17/go-ipfs_v0.4.17_linux-amd64 ... 
- flyweight模式
			参考资料 • 维基百科:https://en.wikipedia.org/wiki/Flyweight_pattern • 百度百科:http://baike.baidu.com/link?url=R ... 
- git pull和git merge区别&&Git冲突:commit your changes or stash them before you can merge. 解决办法
			http://blog.csdn.net/sidely/article/details/40143441 原文: http://www.tech126.com/git-fetch-pull/ Git中 ... 
- Bitmap: a C++ class
			Bitmap: a C++ class The five steps involved to draw a bitmap: Load bitmap using LoadBitmap or ... 
- PKU 1201 Intervals(差分约束系统+Spfa)
			题目大意:原题链接 构造一个集合,这个集合内的数字满足所给的n个条件,每个条件都是指在区间[a,b]内至少有c个数在集合内.问集合最少包含多少个点.即求至少有多少个元素在区间[a,b]内. 解题思路: ... 
- web前端基础——初识JavaScript
			1 JavaScript概述 JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果.通常JavaScript脚 ... 
- linux ftp 简单搭建
			1.安装 yum install vsftpd 2.重启服务 /sbin/service vsftpd restartShutting down vsftpd: [ OK ]Starting vsft ... 
