多层的数组(树形结构)标记每层层级

image.png

项目中用到区域是数形结构数组,需标记每层层级。从网上没有找到合适的解法,于是自己试出一个认为不错的办法。其实很简单,只在遍历数组的入参里增加一个层级参数,后面每深入一层则层级增加一级。如下代码:

//定义一个添加层级的函数
arrayFlagLevel(array, level) {
    if (!array || !array.length) return;
    array.forEach(item => {
       item.level = level;
       if (item.children && item.children.length) {
           arrayFlagLevel(item.children, level + 1);
       }
    })
},
 loadList() {
        this.setLoading(true)
        this.loadCategoryList({
          pageSize: this.page.size,
          pageNo: this.page.number + 1,
          search: this.query.search,
          callback: res => {
            this.setLoading(false)
            this.arrayFlagLevel(res.data.content, 0)
            this.page = res.data
          }
        })
      },

你可能感兴趣的:(多层的数组(树形结构)标记每层层级)