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;
  },


  • 2020-03-23 15:16:30

    import,require具体用法

    import 和 require 是JS模块化编程使用的,是前端开发者们在性能探索中的又一大进步。

  • 2020-03-30 15:37:12

    PM2下使用 npm run 命令

    npm run xxxx 是 node常用的启动方式之一,本文介绍下如何用PM2来实现该方式的启动。 下面是项目的package.json文件部分代码:

  • 2020-04-01 10:15:11

    vue-cli3.0中vue.config.js的基本配置(去除esLint提示和解决build后静态文件路径报错)

    vue-cli是开发vue项目必不可少的脚手架工具,3.0版本之前的目录结构是由config目录的,关于webpack配置的文件都放在该目录里面,而3.0版本之后做了一个大更新,webpack相关的默认配置都帮你集成到webpack的npm 包里面去了,官方提供的一种修改配置的方式就是开发者自己在项目的根目录(与src同层级的目录)下建立一个vue.config.js的文件,然后去覆盖自定义的配置,达到你想要的效果,下面写一个基本的默认配置

  • 2020-04-01 10:21:20

    Vue extend $mount 构造器详解

    本节介绍两个 Vue.js 内置但却不常用的 API——extend 和 $mount,它们经常一起使用。不常用,是因为在业务开发中,基本没有它们的用武之地,但在独立组件开发时,在一些特定的场景它们是至关重要的。