1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| let tree = { val: '计算机学院', children: [{ val: '软件工程', children: [{ val: '一班', children: [] }, { val: '二班', children: [] } ] }, { val: '计算机科学与技术', children: [{ val: '计算机一班', children: [] }] } ] }
function fn(obj,target,result){ result.push(obj.val); if(obj.val==target)return result; else{ for (let i = 0; i < obj.children.length; i++) { let arr=fn(obj.children[i],target,result.slice()); if(arr[arr.length-1]==target) return arr; } return result.slice(); } } console.log(fn(tree,"计算机一班",[]));
|