前端递归获取树(不限制层级)结构下的某个字段并组成数组返回
一、问题
后端需要把一个层级不确定的树下的code组成数组以入参的形式进行返回
二、递归处理树结构
function getCodes(data) {const codes = [];// 内部递归函数function traverse(node) {if (node.unitCode) {codes.push(node.code); // 添加当前节点的 unitCode}if (node.children) {node.children.forEach(traverse); // 递归遍历子节点}}data.forEach(traverse); // 从根节点开始遍历return codes; // 返回收集到的 codes
}// 示例数据
const data = [{"code": "xxx1","parentCode": "pxx1","name": "父级","level": 2,"children": [{"code": "xxx2","parentCode": "pxx2","name": "子集","level": 3,"children": null},// 省略其他节点...]},// 省略其他区块...
];// 调用方法并打印结果
const codeArray= getCodes(data);
console.log(codeArray);