本文介绍一种高效、可复用的方法,通过遍历嵌套结构(如树形布局数组),根据子节点的唯一标识 `i` 反向定位其直接父节点,并获取父节点的 `i` 值。适用于 react grid、仪表板组件等具有层级关系的 javascript 对象结构。
在构建动态仪表板或可拖拽布局系统(如基于 react-grid-layout 的应用)时,常需维护组件间的父子关系。例如,某个图表组件(Highchart_135_5de23)被嵌套在容器组件(GridWrapper_6_3d4c1)的 children 数组中,此时若仅持有子组件 ID,需快速、准确地查出其直属父容器的 i 值——用于高亮、权限校验、状态同步等场景。
核心思路是:对顶层数组逐项检查,若某项的 children 中存在匹配 i 的子对象,则该项即为所求父对象。注意,该方法仅查找直接父级(非祖先链),符合大多数实际需求,且时间复杂度可控(O(n×m),n 为顶层项数,m 为各 children 长度)。
以下是推荐的封装函数,支持提前终止与健壮性处理: