function fnGetMapList(arr, target) {
let result = null; // 定义一个变量来保存结果
arr.some((item) => { // 使用 some 方法遍历数组
if (item.id === target) { // 如果找到目标元素
result = [item]; // 将该元素保存到结果数组中
return true; // 返回 true,结束遍历
} else if ('children' in item) { // 如果当前元素有子元素
const res = fnGetMapList(item.children, target); // 递归调用子元素
if (res !== null) { // 如果找到目标元素
result = [item, ...res]; // 将当前元素和递归调用的结果合并到结果数组中
return true; // 返回 true,结束遍历
}
}
return false; // 如果没有找到目标元素,则继续遍历其他元素
});
return result; // 返回结果数组
}
递归寻找多维数组中的元素并返回该元素所有层级的方法
于 2023-06-16 14:50:37 首次发布