var data= { a: { one: 1, two: 2, three: {four:'2',five:'4'} }, b: { six: 4, seven: 5, eight: 6 }, c: { nine: 7, ten: 8} } function traverse(obj) { for (var a in obj) { if (typeof(obj[a]) == "object") { traverse(obj[a]); //递归遍历 } else { console.log(a + "=" + obj[a]); //如果是值就显示 } } } traverse(data)
JS使用递归删除children中长度为空的数组
IterationDelateMenuChildren = (arr) => { if (arr.length) { for (let i in arr) { if (arr[i].children.length) { this.IterationDelateMenuChildren(arr[i].children) } else { delete arr[i].children; } } } return arr }
vue使用递归删除children中长度为空的数组
// 去除为children空数组 traverse(arr) { if(arr.length){ arr.forEach(item => { if (item.children.length) { this.traverse(item.children); //递归遍历 } else { delete item.children;//如果是值就显示 } }); } return arr }, //模型类别列表 findType(){ var vm = this; request.get("http://192.168.2.177:8080/type/typeParent") .then(function(response) { if (response.data.code == 200) { vm.modeType=vm.traverse(response.data.data) console.log( vm.modeType,"vm.traverse(response.data.data)") } }) .catch(function(error) { console.log(error); }); },
traverse(arr,num) { if(arr.length){ arr.forEach(item => { if(item.label.id==num){ idArr.push(item.label.id) idArrBox=idArr } Vue.set(item,"name",item.label.name) Vue.set(item,"id",item.label.id) if (item.children.length) { idArr.push(item.label.id) this.traverse(item.children,num); //递归遍历 } else { idArr=[] delete item.children;//如果是值就显示 } }); } return arr }, this.traverse(this.typeChoose,scope.number)
// 模型选择器赋值 去除为children空数组 traverse(arr,value) { if(arr.length){ arr.forEach(item => { Vue.set(item,"name",item.label.name) Vue.set(item,"id",item.label.id) if (item.hasOwnProperty("children")&&item.children.length) { idArr.push(item.label.id) this.traverse(item.children,value); } else { if(idArr.length!=0){ idArrBox=[...idArr] } idArr=[] if(!library.isNull(item.label.modelStorageId)){ if(item.label.modelJsonList[0].guid===value){ idArrBox.push(item.label.id) this.modelArr.push(idArrBox) return } } //禁用模型类别 if(!item.label.modelStorageId){ Vue.set(item,"disabled",true) } delete item.children; } }); } return arr },
到此这篇JS递归实现遍历不规则多维数组的方法的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/qdvuejs/11273.html