深入浅出之递归遍历查询json树之子节点
2018-11-01 本文已影响0人
郝艳峰Vip
写在前面
之前每次在json树查找子节点时有盲点,今天在项目中终于鼓捣明白了(也不算彻底明白,稍微有一点理解了,记录一下,方便后续学习更新)js递归方法,通俗来讲,就是一级一级往下查找,知道没有子节点为止,这个例子中只是改变所有子节点的非等于false的状态,跟着改为true就好了,其他的以后学到就会更新的。
写解释下含义:递归:自己调用自己称之为--------递归调用
//vue的写法,原生的跟这个一样
methods: {
MulitGetlistBenchmark() {
getlistBenchmark({}).then(response => {
if (response.data.code === 50001) {
this.isNoDataAllFrue = true;
this.isShowLoding = false;
return;
}
// this.MulitleDatas = response.data.data;
let MulitleDatasTree = response.data.data;
//在你需要查找的方法中调用就好了
this.getArrayList(MulitleDatasTree);
console.log(MulitleDatasTree);
});
},
//递归查询方法
getArrayList(datas) {
for (var i in datas) {
if (datas[i].multiple !== false) {
// console.log(datas[i]);
break;
} else {
datas[i].disabled = true;
//每次在传入父节点的childreg去查找,自己调用自己的方法
this.getArrayList(datas[i].children);
}
}
},
}