遞歸的概念:
遞歸函數就是在函數體內調用本函數(通俗的說:也就是自己調用自己);
注意:使用遞歸函數時需要注意函數終止條件,避免死循環
實現方式:
舉個例子:給以下數據中的每一級都添加一個是屬性 selectedStatus:false
具體的數據結構:
let treeData =[ { level: 0, parent_id: 0, name: "員工管理", id: 2, status: 1, child: [ { level: 1, parent_id: 2, name: "辦理入職", id: 3, status: 1, child: [ { level: 2, parent_id: 3, name: "直接辦理入職", id: 4, status: 1, child:[] }, ] }, { level: 1, parent_id: 2, name: "轉正管理", id: 5, status: 1, child: [ { level: 2, parent_id: 5, name: "辦理轉正", id: 6, status: 1, child:[] } ] } ] },{ level: 0, parent_id: 0, name: "員工管理", id: 2, status: 1, },{ level: 0, parent_id: 0, name: "員工管理", id: 2, status: 1, child: [ { level: 1, parent_id: 2, name: "辦理入職", id: 3, status: 1, child:[] } ] }, ]
遞歸函數:
turn(list){ list.forEach((v, k) => { v.selectedStatus = false; if(v.child){ this.turn(v.child) } }) console.log(list) }, //調用函數 this.turn(treeData);