删除树形结构第三层孩子
/**
* @method 去除树形结构按钮权限
* @param {Array} data 原始权限数组
* @return {Array} 去除按钮权限的数组
*/
export function filterData(data) {
// 到叶子节点了,返回,递归出口
if (data == undefined || data == null || data.length == 0) {
return
}
else {
// 对每一层,遍历这个数组,调用filterData方法对每个元素下的数组进行同样的操作
// 筛掉当前层的status为2的对象
myFilter(data)
for (let index in data) {
filterData(data[index].menuChildren)
}
}
return data
}
// 改变引用的filter方法
function myFilter(data) {
if (data == null || data == undefined || data.length == 0) {
return
} else {
for (let index = data.length - 1; index >= 0; index--) {
// 删除状态2的元素,且不为过渡结点的元素
if (data[index].privilegeType === 2) {
data.splice(index, 1)
}
}
}
}
获取树形结构第三层数据
/**
* @method 获取按钮权限数据
* @param {Array} list 原始权限数组
* @return {Array} 返回按钮权限数组 btnList
*/
let btnList = []
export function findBtnList(list) {
list.forEach(val => {
if (val.privilegeType === 2) {
btnList.push(val)
}
if (val.privilegeType !== 2) {
if (val.menuChildren && val.menuChildren.length > 0) {
findBtnList(val.menuChildren)
}
}
})
return btnList
}