遞歸算法

今天我想實現展開規定的樹的支葉(其中包括子樹要是展開其父節點也應展開)可是一個算法寫錯了,可是在csdn論壇上我找到了答案如下:

function isTrue(item,flag){
  for(var i=0;i<item.children.length; i++){
    if(item.children(i).getAttribute("id")==flag){
      return true;
    }else if(isTrue(item.children(i),flag)){
      return true;
    }
  }
  return false;
}

以前我的算法是:

function isTrue(item,flag){
  for(var i=0;i<item.children.length; i++){
    if(item.children(i).getAttribute("id")==flag){
      return true;
    }else {

          aa= isTrue(item.children(i),flag); 
    }
  }
  return false;
}

可是它總是出現死循環;可煩人了;後來改用上面得算法就搞定了。真的很感謝csdn論壇,爲我們提供了這樣一個交流的平臺和加入論壇中的成員。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章