일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dovecot
- 안드로이드 푸시
- 설치
- php 취약점
- 우분투
- 자동 생성
- html5
- 폼메일
- C# IO
- FCM
- xe
- WebView
- not working
- soundpool
- 자바스크립트
- 안드로이드
- C#
- curl
- chart.js
- mysql
- PHP
- Android
- javascript
- 안드로이드 푸쉬
- android 효과음
- UML
- php 시큐어코딩
- roundcube
- 안드로이드 gcm
- Mail Server
- Today
- Total
그러냐
jQuery $.each() 주의사항 본문
이번 글은 jQuery의 함수인 each의 주의사항을 다뤄본다.
each 함수는 기본적으로 for문이라고 봐도 무방하다.
jQuery에서 제공하는 일반적인 iterator function 이다.
callback 개념이 부족하다면 발생할 수 있는 경우와, each 함수의 return에 대해 알아볼 것이다.
반복문을 쓰는 이유 중 하나의 예로, 배열에 있는 값 중 원하는 값을 찾기 위해 루프를 돌린다고 가정하자.
코드는 아래와 같다.
someArray = new Array(); someArray[0] = 't5'; someArray[1] = 'z12'; someArray[2] = 'b88'; someArray[3] = 's55'; someArray[4] = 'e51'; someArray[5] = 'o322'; someArray[6] = 'i22'; someArray[7] = 'k954'; let test = findXX('o322'); // test 변수의 값은? function findXX(word) { $.each(someArray, (i, v) => { if(v == word) { return someArray[i]; } }); }
코드는 이상할 게 없는 코드로 보인다.
그렇기에, test 변수의 값은 'o322' 이라고 생각할 것이다.
하지만, 실행 결과는 'undefined' 값이 출력될 것이다.
왜 이런 상황이 발생하는가?
jQuery의 공식 문서에 보면 아래와 같이 명시되어있다.
We can break the
$.each()
loop at a particular iteration by making the callback function returnfalse
. Returning non-false is the same as acontinue
statement in a for loop; it will skip immediately to the next iteration.
function findXX(word) { let toReturn; $.each(someArray, (i, v) => { if(v == word) { toReturn = someArray[i]; return false; // each() 루프 중단 } }); return toReturn; // findXX 함수에 대한 return }
중단은 return false를 통해 하되, return을 원하는 값은 다른 변수를 통해 넘겨야한다.
http://api.jquery.com/jquery.each/
출처: https://mygumi.tistory.com/169 [마이구미의 HelloWorld:티스토리]
'jquery' 카테고리의 다른 글
datepicker 동적 생성된 요소에 적용시키기 (0) | 2022.06.21 |
---|---|
selectbox 변경시 선택된 색상 color 가져오기 (0) | 2022.06.03 |
tr 동적 추가, 순서 이동, 선택삭제, 번호 넘버링 (0) | 2022.05.26 |
Sorting MySQL Row Order using jQuery (0) | 2022.05.26 |
jquery 테이블 tr에서 선택한 tr에 클래스주고 다른 tr에는 클래스 삭제하기 (0) | 2022.05.26 |