// 根据id获取多级分类对象数组的id所在分类级别
export function findDetailsById(array, id, keysToFind) {
  // 递归函数，用于遍历数组并查找指定ID的对象的属性  
  function traverse(items) {
    for (let item of items) {
      if (item.id === id) {
        // 找到目标ID，返回所需属性的对象  
        const result = {};
        for (const key of keysToFind) {
          if (item.hasOwnProperty(key)) {
            result[key] = item[key];
          }
        }
        return result;
      }
      if (item.children) {
        // 如果当前项有子项，递归遍历子项  
        const childResult = traverse(item.children);
        if (childResult) {
          // 如果在子项中找到目标ID，返回子项的结果  
          return childResult;
        }
      }
    }
    // 如果没有找到目标ID，返回undefined  
    return undefined;
  }

  // 调用递归函数，从根层级开始查找  
  return traverse(array);
}