假设我有一个可以有子对象的层次结构。所有对象都有唯一的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 编写一个函数,该函数在遇到时会在元素的子级上递归调用,但它也会返回祖先。