javascriptで木構造からデータを検索してきて見つかったら
その位置の配列を返すというのをしたいのですが、値を返せません。
javascript
1function searchTree(tree,id) 2{ 3 4 5 if(tree.childNodes){ 6 for(var i = 0; i < tree.childNodes.length; i++){ 7 searchTree(tree.childNodes[i],id); 8 } 9 } 10 if(tree.id == id){ 11 return tree; 12 } 13 14}
一番上の要素は返ってくるのですが、
それ以降の要素が取得できず、戻り値を変数に代入すると
undfinedと表示されてしまいます。
javascript
1function tree(id,childNodes){ 2 this.id = id; 3 this.childNodes = childNodes; 4//childNodesは配列で、treeが入る 5}
データの例
javascript
1 var tree = new tree(1,[ 2 new tree(2,[ 3 new tree(3), 4 new tree(4), 5 new tree(5) 6 ]), 7 new tree(6,[ 8 new tree(7), 9 new tree(8) 10 ]) 11 ]); 12 var a = searchTree(tree,1); 13 alert(a);
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/28 02:07