假设我有一个可以有子对象的层次结构。所有对象都有唯一的id
. 我需要从这个层次结构中的任何地方检索一个对象,只给定id
. 例如,层次结构可能如下所示:
var 层次结构 = [ {id:1,孩子:[ {id:7}, {编号:8} ]}, {id:2}, {id:3,孩子:[ {id:9}, {id:10,孩子:[ {id:11}, {id:12}, {id:13} ]} ]}, {id:4}, {id:5}, {id:6,孩子:[ {id:14} ]} ];
函数调用看起来像这样:
retrieveObjectById(10, 层次结构); // => {id: 10, children: [...]}
我尝试使用 Array.filter 编写一个函数,该函数在遇到时会在元素的子级上递归调用,但它也会返回祖先。