js把树结构变成数组

2020-05-18 11:04:15

关于递归,个人理解,怎么递归进去,怎么再递归出来。这就完事了

js递归遍历树结构(tree)

我们有时候需要把树结构变成数组,来进行更好的操作。

下面是代码。


代码一

let datas = [] //是一个树结构的数据
setName(datas){ //遍历树  获取id数组
  for(var i in datas){
    this.expandedKeys.push(datas[i].id)
    if(datas[i].children){
      this.setName(datas[i].children);
    }
  }
},


代码二,用于封装

  treeToArray: function (datas) { //遍历树  获取id数组
    var expandedKeys = []
    for (var i in datas) {
      var item  = this.deepCopy(datas[i]) ;
      delete  item.childCategory
      expandedKeys.push(item)
      if (datas[i].childCategory) {
        expandedKeys =expandedKeys.concat(this.treeToArray(datas[i].childCategory))
      }
    }
    return expandedKeys;
  },


  • 2019-11-08 09:34:46

    CSS3 Transition详解和使用

    Transition 可以设置 CSS 属性的过渡效果,它有以下几个属性。 transition-property 用于指定应用过渡属性的名称 transition-duration 用于指定这个过渡的持续时间 transition-delay 用于指定延迟过渡的时间 transition-timing-function 用于指定过渡的类型 transition-property transition-property 用于指定应用过渡的属性名称,可以指定多个属性名称,多个属性名称之间用, 分隔。 默认值为 all 也就是所有的元素都应用过渡效果。 例如,想让容器的宽高有一个过渡的效果,就可以这样写:

  • 2019-11-09 19:16:35

    java标记过期方法

    java注解:@Deprecated(不建议使用的,废弃的);@SuppressWarnings(忽略警告,达到抑制编译器产生警告的目的)

  • 2019-11-12 02:56:39

    使用.htaccess重定向后无法显示图片,CSS失效,该如何处理

    现在我需要把这个域名泛解析到blog目录(*.mydomain.org),同时保持另外两个目录的解析不变。尝试对最后一段作以下修改后(前面的内容不变),出现问题:另两个目录中的网站内的图片无法显示,CSS全部失效。

  • 2019-11-14 11:21:34

    vue中的this指向问题

    ※ 对于普通函数(包括匿名函数),this指的是直接的调用者,在非严格模式下,如果没有直接调用者,this指的是window。showMessage1()里setTimeout使用了匿名函数,this指向 window。 ※ 箭头函数是没有自己的this,在它内部使用的this是由它定义的宿主对象决定。showMessage2()里定义的箭头函数宿主对象为vue实例,所以它里面使用的this指向vue实例。