深度优先
// 遍历树形结构
/**
*
* @param {*} obj 对象
* @param {*} children 下一级
* @param {*} callback 遍历中执行
*/
function traverseObject(obj, children = "children", callback = (e) => { }) {
// 检查当前节点是否为对象
if (typeof obj === 'object' && obj !== null) {
// 如果当前节点有 children 属性且是数组类型
if (obj.hasOwnProperty(children) && Array.isArray(obj[children])) {
// 遍历当前节点的 children 数组
obj[children].forEach(function (child) {
// 输出当前节点的值
// console.log("Value:", child);
callback(child)
// 递归调用遍历函数,处理当前节点的子节点
traverseObject(child, children, callback);
});
}
}
}