子を持つことができるオブジェクトの階層があるとします。すべてのオブジェクトには固有の がありid
ます。のみを指定して、この階層の任意の場所からオブジェクトを取得する必要がありますid
。たとえば、階層は次のようになります。
var 階層 = [ {id: 1、子: [ {id: 7}、 {id: 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、子: [...]}
Array.filter を使用して、要素の子要素が検出されたときに再帰的に呼び出される関数を作成しようとしましたが、祖先も返します。