js 递归 查找一个值 并返回 所有父级

//utils.js
export const checkList = (list, code, path = []) => {
  if (!list) return []
  for (const data of list) {
    path.push(data.value)
    if (data.value == code) return path
    if (data.children && data.children.length) {
      const findchildren = checkList(data.children, code, path)
      if (findchildren.length) return findchildren
    }
    path.pop()
  }
  return []
}

引入使用

import { checkList } from '../utils/utils.js'
let arr = checkList( list , code ).filter(Boolean)

你可能感兴趣的