深入浅出之递归遍历查询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);
        }
      }
    },
}
上一篇下一篇

猜你喜欢

热点阅读