js递归实现方式
递归的概念:
递归函数就是在函数体内调用本函数(通俗的说:也就是自己调用自己);
注意:使用递归函数时需要注意函数终止条件,避免死循环
实现方式:
举个例子:给以下数据中的每一级都添加一个是属性 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);