js递归循环数组(tree结构数据)

这篇博客介绍了如何使用JavaScript处理树形结构数据,特别是递归遍历具有子节点的数组。通过示例代码展示了如何扁平化树结构数据,以便于操作和处理。

var tdata = [{

"bs": "no",

"child": [],

"deptCode": "4811ca4f951e4ae4bb4a3c01b17aff6e",

"deptName": "百得利",

"gmtCreate": "2020-02-25 11:22:57",

"gmtModified": "2020-02-28 09:52:08",

"id": 24,

"isDeleted": "0",

"reamlCode": "518c89f24690439bbd0dab63ce67aa7b"

},

{

"bs": "yes",

"child": [{

"bs": "no",

"child": [{

"bs": "no",

"child": [{

"bs": "no",

"child": [],

"deptCode": "e4d0cf4408414abfa94088a450cc0d88",

"deptName": "人事一部",

"deptPcode": "4",

"gmtCreate": "2020-02-27 21:14:19",

"gmtModified": "2020-02-28 09:52:59",

"id": 43,

"isDeleted": "0",

"reamlCode": "518c89f24690439bbd0dab63ce67aa7b"

}],

"createdBy": "1",

"deptCode": "4",

"deptName": "人事",

"deptPcode": "3",

"gmtCreate": "2020-02-07 10:51:12",

"gmtModified": "2020-02-28 09:52:43",

"id": 4,

"isDeleted": "0",

"modifiedBy": "1",

"reamlCode": "518c89f24690439bbd0dab63ce67aa7b"

}],

"createdBy": "1",

"deptCode": "3",

"deptName": "事业部",

"deptPcode": "1",

"gmtCreate": "2020-02-07 10:50:39",

"gmtModified": "2020-02-28 09:52:28",

"id": 3,

"isDeleted": "0",

"modifiedBy": "1",

"reamlCode": "518c89f24690439bbd0dab63ce67aa7b"

},

{

"bs": "no",

"child": [{

"bs": "no",

"child": [],

"deptCode": "4dc4d3f716284bd58d05bb01316546b9",

"deptName": "财务1部",

"deptPcode": "2",

"gmtCreate": "2020-02-27 10:08:25",

"gmtModified": "2020-02-28 09:53:27",

"id": 26,

"isDeleted": "0",

"reamlCode": "518c89f24690439bbd0dab63ce67aa7b"

},

{

"bs": "no",

"child": [],

"deptCode": "111",

"deptName": "财务2部",

"deptPcode": "2",

"gmtCreate": "2020-02-18 11:30:00",

"gmtModified": "2020-02-28 09:53:36",

"id": 7,

"isDeleted": "0",

"reamlCode": "518c89f24690439bbd0dab63ce67aa7b"

},

{

"bs": "no",

"child": [],

"createdBy": "1",

"deptCode": "5",

"deptName": "财务3部",

"deptPcode": "2",

"gmtCreate": "2020-02-07 10:49:30",

"gmtModified": "2020-02-28 09:54:14",

"id": 5,

"isDeleted": "0",

"modifiedBy": "1",

"reamlCode": "518c89f24690439bbd0dab63ce67aa7b"

}

],

"createdBy": "1",

"deptCode": "2",

"deptName": "财务部",

"deptPcode": "1",

"gmtCreate": "2020-02-07 10:50:11",

"gmtModified": "2020-02-28 09:53:13",

"id": 2,

"isDeleted": "0",

"modifiedBy": "1",

"reamlCode": "518c89f24690439bbd0dab63ce67aa7b"

}

],

"createdBy": "1",

"deptCode": "1",

"deptName": "集团",

"gmtCreate": "2020-02-07 10:49:30",

"gmtModified": "2020-02-28 09:52:17",

"id": 1,

"isDeleted": "0",

"modifiedBy": "1",

"reamlCode": "518c89f24690439bbd0dab63ce67aa7b"

}

]

 

//方法

function flattenTreeDep(tdata, resData) {

if (Array.isArray(tdata) && tdata.length > 0) {

tdata.forEach(function (v, i) {

if (v.bs == 'yes') {

console.log(v.deptCode)

}

let arr = [];

flattenTreeDep(v.child, arr);

});

}

}

var resData = []

flattenTreeDep(tdata, resData)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值