递归 js,递归改所有node里面属性名字
1.递归拿出不是叶子结点的id数组
getPriv(this.roleId).then((response) => {
const privData = https://www.it610.com/article/this.privData
var a = []
var forfn = function (list) {
for (var i = 0;
i < list.length;
i++) {
if (list[i].children) {
a.push(list[i].id)
forfn(list[i].children)
}
}
}
forfn(privData)
//比对a和b this.privIds为在b数组中去除a数组包含的元素后形成的数组
var b = response.data
let RemoveSame = [...new Set([...a, ...b])]
let SamePart = a.filter((item) => b.includes(item))
let Difference = RemoveSame.filter(
(item) => !SamePart.includes(item)
)
this.privIds = Difference
// this.$refs.menu.setCheckedNodes(response.data)
})
【递归 js,递归改所有node里面属性名字】2.递归改所有node里面属性名字
getTree().then((response) => {
this.menuOptions = []
//data为需要修改的tree,这里主要是为antd design 里面select规范数据const ass = (data) => {
let item = []
data.map((list, i) => {
let newData = https://www.it610.com/article/{}
newData.title = list.label
newData.id = list.id
newData.parentId = list.parentId
newData.children = list.children ? ass(children) : [] //如果还有子集,就再次调用自己
item.push(newData)
})
return item
}
var rda = ass(response.data)this.menuOptions = rda
})
推荐阅读
- 2018-02-06第三天|2018-02-06第三天 不能再了,反思到位就差改变
- 改变自己,先从自我反思开始
- 列出所有自定义的function和view
- 幸福的人都是相似的,所有幸福的女人,都做好了这2点
- 不理解句意,你还想做对所有GRE填空题()
- 越努力越幸福
- 【#2-戴栋】区块链可以提升哪些商业上的效率改进
- #微习惯可以改变你#第2周复盘
- 你以为你熬过了所有的难熬的夜,却不知何时到白天
- 2018-06-13金句系列7(金句结构-改编古现代诗词)