Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- nqueens
- 자바스크립트
- 코딩
- grpahQL
- 취업
- array
- DOM
- this
- 연습
- ftech
- 리액트
- 해커톤
- 일상
- 알고리즘
- Instantiation Patterns
- 개발
- underbar
- vscode
- JS
- react
- JavaScript
- 제일어려워
- 엔퀸즈
- underscores
- 초보
- method
- 클라이언트
- 포스기
- 공부
- 코드스테이츠
Archives
- Today
- Total
analogcoding
recursion 예제연습4 본문
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