多层的数组(树形结构)标记每层层级
2022-01-04 本文已影响0人
Amanda妍
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
}
})
},