-1

動的に作成されるオブジェクトがあります。簡単な例を次に示します。

global.data {
    children: [
        0: {
            children:  [
                0: {
                   children: value 
                }
            ]
        }
    ]

}

私がやりたいことは、オブジェクト (global.data) に「子」のプロパティがあるかどうかを確認し、そこからプロパティを取得し、そのオブジェクト (「子」) をループに送り返して、「」のプロパティがあるかどうかを確認することです。それ自身の子供たち。トラバースする「子供」がなくなるまで続けたいと思います。

4

2 に答える 2

6

最深部に到達するまで while ループを実行します。jsfiddle

global = {};
global.data = {
    children: [
         {
            children:  [
                 {
                   children: "value"
                }
            ]
        }
    ]
}

var obj = global.data;

while( typeof obj == 'object' && typeof obj.children == 'object'){
  obj = obj.children[0];
}
obj = obj.children ? obj.children  : obj;​
 // at this point obj is either undefined or has no children property. 
于 2012-10-23T19:47:40.780 に答える