//关键词搜索
function getTreeList(sourceList, keyWord) {
const filterData = function (data) {
// 遍历数组
for (let i = 0; i < data.length; i++) {
// 判断节点title是否包含关键字 如果有,那么直接进行下一循环
if (data[i].menuName.indexOf(keyWord) > -1) continue;
// 如果节点不是末节点
if (data[i].childMenus && data[i].childMenus.length > 0) {
// 这里进行递归,获取子节点列表
data[i].childMenus = filterData(data[i].childMenus);
// 判断子节点数组的长度是否为零,为零则说明改节点下的所有子孙节点的title都不包含关键字,那么就可以删除这个节点了
if (data[i].childMenus && data[i].childMenus.length == 0) {
data.splice(i, 1);
i--;
}
} else {
// 如果为子节点,那么直接删除
data.splice(i, 1);
i--;
}
}
return data;
};
sourceList = filterData(sourceList);
return sourceList;
}
//递归
serverArray(arr) {
var newArr = []
this.selectArr = null
for (var item = 0; item < arr.length; item++) {
newArr.push({ name: arr[item]['name'],
id: arr[item]['id'],
parentId: arr[item] ['parentId'] }) //push数据
if (arr[item].children.length != 0) {
newArr[item].children = this.serverArray(arr[item].children)
}
}
return newArr
},