多层结构提取目标元素的父元素,有什么办法?

例如

const obj = {
   a: {
      b: 1
  },
   c: {
      d: 2  
   }
}

找到d是2元素的父元素,就是找到C,并返回,有什么快捷办法

阅读 1k
1 个回答

一般的查找都是遍历做map,深度广度都行,反正是遍历完整棵树。遍历过程中做一个map,存储当前的节点以及父节点。后续查找就是O(1)的时间复杂度了.
你这题可以变化一下 遍历的时候存 属性名+属性值
生成

map:{
    'b-1': 'a',
    'd-2': 'c',
}

求map['d-2']

如果存在两个以上的'd-2' 就做成数组 'd-2': ['c','f','e'],

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题