小记一下递归通过id寻找一条链路的数据
2024-10-21 11:52:59
Array.prototype.remove =
function
(val) {
var
index =
this
.indexOf(val);
if
(index > -1) {
this
.splice(index, 1);
}
};
function
getNames(array,childs,age){
for
(
var
i=0;i<array.length;i++)
{
var
item=array[i];
if
(item.age==age){
childs.push(item);
return
childs;
}
if
(item.children&&item.children.length>0){
childs.push(item);
var
rs=getNames(item.children,childs,age);
if
(rs){
return
rs;
}
else
{
childs.remove(item);
}
}
}
return
false
;
}
var
aa = [
{name:
'BBB'
,age:141,children:[{name:
'bbb1'
,age:15},{name:
'bbb2'
,age:19}]},
{name:
'C1+'
,desc:
'1'
,age:131,children:[{name:
'c2+'
,desc:
'1'
,age:15,children:[{name:
'c3+'
,desc:
'1'
,age:11}]},{name:
'C2+'
,desc:
'1'
,age:15,children:[{name:
'C3+'
,desc:
'1'
,age:10}]}]}
];
var
result=getNames(aa,[],10);
var
str=
""
;
for
(
var
i=0;i<result.length;i++){
str+=result[i].name;
}
alert(str);
最新文章
- 项目安排(离散化+DP)
- 从零开始,搭建博客系统MVC5+EF6搭建框架(5),博客详情页、留言、轮播图管理、右侧统计博文
- PHP截断函数mb_substr()详细介绍
- javase建议学习路线
- 【策略】UVa 1344 - Tian Ji -- The Horse Racing(田忌赛马)
- 文件I/O之/dev/fd
- 查找最小的K个元素,使用最大堆。
- 第二次作业:编写一个四则运算的";软件";
- Codeforces A. Trip For Meal
- Unity3D 打包Standalone(exe文件) Shader丢失
- python里面的xlrd模块详解(一)
- Fundebug发布Vue插件,简化BUG监控接入代码
- canvas学习笔记之2d画布基础的实现
- 虚拟机复制问题:如何解决“无法手动启动VMware Tools安装”问题
- pre-commit 钩子,代码质量检查:在 vue-cli 3.x 版本中,已经使用尤大改写的yorkie,yorkie实际是fork husky,然后做了一些定制化的改动,使得钩子能从package.json的 ";gitHooks";属性中读取
- Tree 菜单 递归
- mysql 开源~canal维护相关问题
- 引用了System.Configuration命名空间,却找不到ConfigurationManager类
- 异常检测——局部异常因子(Local Outlier Factor ,LOF)算法
- Beta发布文案+美工
热门文章
- Redis常见配置文件详解
- 设计模式(十)——组合模式(HashMap源码解析)
- Vuejs 基础学习教程
- E - E(最短路解决源点到多点,多点到源点的和(有向图))
- centos7.2安装图形化界面 &;&; 在Linux上更改当前默认界面
- 2020牛客暑期多校训练营(第二场)Fake Maxpooling
- 【noi 2.6_9284】盒子与小球之二(DP)
- Atcoder Panasonic Programming Contest 2020
- Miller_Rabbin算法判断大素数
- MHA 的 Binlog Server &; VIP 漂移