2024-12-30 js递归遍历数组,如果数组中存在value,则push该值,如果数组中存在下级数组,则递归循环该数组,执行上一次操作,如此循环
const handleArr = (data: any) => { // 初始化结果数组 let result: any = []; // 定义递归函数 function recurse(items: any) { for (let item of items) { // 如果对象有 value 属性,将其推入 result if (item.value !== undefined) { result.push(item.value); } // 如果对象有 children 属性且是数组,则递归调用 if (Array.isArray(item.children)) { recurse(item.children); } } } // 循环 recurse(data); // 返回最终结果 return result; }