analogcoding

recursion 예제연습4 본문

Study JS for me/Algorithm

recursion 예제연습4

be well 2019. 5. 7. 15:25
var getElementsByClassName = function(className){
  // 먼저 인자로 받는 className과 동일한 이름에 class이름을 가진 것을 찾아서
  // 그 class이름과 동일한 class를 가진 것들을 빈 배열에 담아보자.
    
  var result = [];  // 빈배열 생성

    function check(elements){  // elements는 class이름을 확인할 장소 ex) div , span 등등
        if ( elements.classList){ // 그 장소에 class를 가진 게 존재한다면
          if (elements.classList.contains(className)){ // 그 클래스에 인자로 받는 className이 있으면
            result.push(elements); // 빈 배열에 넣어준다.
          }
        } 
        if( elements.hasChildNodes() ){ // 그 장소가 자식노드를 가지고 있다면
          for ( var i = 0 ; i < elements.childNodes.length ; i ++)
            check(elements.childNodes[i]); //각 자식노드를 check함수를 재귀해서 실행
        }
      }check(document.body); // 바디태그를 인자로 check함수를 재귀 
  return result;
  }

재귀를 통해 자식노드를 똑같이 check 함수에 넣어서 실행하는 예.

'Study JS for me > Algorithm' 카테고리의 다른 글

recursion 예제연습 5  (0) 2019.05.10
algorithm 연습10  (0) 2019.05.06
algorithm 연습9  (0) 2019.05.05
algorithm 연습8  (0) 2019.05.04
recursion 예제연습3  (0) 2019.05.04
Comments