直接上代码
// 这是发现isdisplay属性为0后删除自身
recursionFun(node) {
var sum = []
for (var i = node.length - 1; i >= 0; i--) {
if (node[i].isdisplay == 0) {
// 因为是删除,所以下标不能由小到大删除,逻辑问题不赘述
// 而且遍历过程当中不能删除自身,所以先收集应删除数据的下标
sum.push(i)
} else {
if (node[i].children.length) {
this.recursionFun(node[i].children);
}
}
}
// 下标由大到小删除数据【9,5,1】
for (let i in sum) {
node.splice(sum[i], 1)
}
return node;
}
// 常见修改属性
recursionFun(node) {
for (var i = 0; i < node.length; i++) {
if (node[i].isdisplay == 0) {
node[i].isdisplay = 1;
if (node[i].children.length) {
this.recursionFun(node[i].children);
}
}
}
return node;
}
个人做笔记之用,如果帮到你纯属意外∠( ᐛ」∠)_