本文主要是介绍js 删除树状图无用数据,如果子级没有数据则删除,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
有一个需求,当你从后端拿到一个树状图的时候,有些子级没数据,这时就需要我们处理一下数据,当然了,如果第一层底下的第二层没数据,第二层底下的所有都没数据,那这一层都不需要。
我的写法,先删除最后一层,然后以此类推,往上删除。使用递归。
deleteTreeAreaData(node) {for (let i = node.length - 1; i >= 0; i--) {const item = node[i];if (!item.hasOwnProperty('children')) continue;if (item.children.length === 0 && item.data.dataType == "area") {node.splice(i, 1);continue;}this.deleteTreeInvalidData(item.children);}},deleteTreeInvalidData(tree) {for (let i = tree.length - 1; i >= 0; i--) {const item = tree[i];if (!item.hasOwnProperty('children')) continue;if (item.children.length === 0 && item.data.dataType == "unit") {tree.splice(i, 1);continue;}this.deleteTreeInvalidData(item.children);}},
可以优化,但是我没优化。
这篇关于js 删除树状图无用数据,如果子级没有数据则删除的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!