Skip to content

CHICPRO

  • Life Log
  • Cycling Log
  • Photo Log
    • Portrait
    • Landscape
    • Flower
    • Etc
  • Coding Log
  • Information

[jQuery] each 문에서 continue 와 break

2013-10-06 by 편리

보통 for 문을 사용하면 continue 나 break 를 사용하게 된다. 그런데 jQuery의 each에서는 continue와 break를 사용할 수가 없다. each 가 실행 중일 때 특정 조건에서 each 구문을 끝내거나 다음 조건으로 가게 하려면 어떻게 해야할까? break 나 continue를 사용하면 편한데 말이다. 다행히 each 에서 break 등을 사용할 수가 있다. return 구문을 사용하는 것이다. break 일 때는 return false 를 continue 일 때는 return true 를 사용하면 된다. 아래는 간단하게 작성한 코드이다.

<script>
function form_check()
{
    var code1 = code2 = "";
    var $inp = $("input[name='code[]']");

    $inp.each(function() {
        code2 = $(this).val();
        if(code1 == code2) {
            return false;
        } else {
            code1 = code2;
            return true;
        }
    });
}
</script>

코드는 name=”code[]” 인 다수의 input 에서 동일한 값이 있는지 체크하는 것이다. 같은 값이 있으면 실행을 끝내는 것이다. each를 끝내기 위해서 return false 를 사용했다. return true는 위의 코드에서는 필요없는 코드이다. 이해를 돕기 위해 넣은 것이지 크게 의미가 있는 것은 아니다. 그리고 만약 each 문 아래에 실행되는 코드가 있을 때 중복되는 값이 있으면 함수의 실행을 멈춰야하는 경우도 생각해볼 수 있다. 이럴 때는 어떻게 할까? 아래의 코드를 보도록 하자.

<script>
function form_check()
{
    var code1 = code2 = "";
    var COD = new Array();
    var $inp = $("input[name='code[]']");

    $inp.each(function() {
        code2 = $(this).val();
        if(code1 == code2) {
            return false;
        } else {
            code1 = code2;
            return true;
        }
    });

    COD.push(code2);
}
</script>

form_check 함수가 실행되면 input 의 값 중복을 체크한다. 중복값이 없을 때만 COD 배열에 값을 넣고 싶은데 위의 코드만 있다면 중복되는 값이 나오기 전까지의 모든 값이 배열에 추가될 것이다. 우리가 원했던 동작은 아니다. 그렇다면 어떻게 해야할까? 아래의 코드를 보자.

<script>
function form_check()
{
    var code1 = code2 = "";
    var COD = new Array();
    var dup = false;
    var $inp = $("input[name='code[]']");

    $inp.each(function() {
        code2 = $(this).val();
        if(code1 == code2) {
            dup = true;
            return false;
        } else {
            code1 = code2;
            return true;
        }
    });

    if(dup)
        return false;

    COD.push(code2);
}
</script>

위의 코드르 보면 중복되는 값이 있으면 dup 를 true로 하고 each 문을 끝낸 후 dup 가 true 이면 함수의 실행을 끝내도록 되어 있다. 즉 중복되는 값이 있으면 COD 배열에는 아무런 값도 추가되지 않는 것이다. 이런 식으로 코드를 작성해야 each 문을 이용한 함수에서 원하는 동작을 수행할 수 있다.

Post navigation

Previous Post:

갤럭시 넥서스 젤리빈 4.3 팩토리 이미지 공개

Next Post:

[미드] News Room

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Recent Posts

  • php 배열 연산에서 + 와 array_merge 의 차이
  • pcntl_fork 를 이용한 다중 프로세스 실행
  • 아이폰 단축어를 이용하여 주중 공휴일엔 알람 울리지 않게 하기
  • 구글 캘린더 전체일정 재동기화
  • OpenLiteSpeed 웹서버에 HTTP 인증 적용
  • OpenLiteSpeed 웹어드민 도메인 연결
  • WireGuard를 이용한 VPN 환경 구축
  • Ubuntu 22.04 서버에 OpenLiteSpeed 웹서버 세팅
  • 맥 vim 세팅
  • 우분투 시스템 터미널쉘 zsh 로 변경

Recent Comments

  • 편리 on 업무관리용 그누보드 게시판 스킨
  • 임종섭 on 업무관리용 그누보드 게시판 스킨
  • 캐논 5D 펌웨어 | Dslr 펌웨어 업그레이드 방법 82 개의 베스트 답변 on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • Top 5 캐논 5D 펌웨어 Top 89 Best Answers on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • 편리 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 임팀장 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 편리 on Notepad++ NppFTP 플러그인 수동 설치
  • paul-j on Notepad++ NppFTP 플러그인 수동 설치
  • YS on Windows 10 iCloud 사진 저장 폴더 변경
  • 편리 on Docker를 이용한 Centos7 + httpd + php 5.4 개발환경 구축

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
© 2025 CHICPRO | Built using WordPress and SuperbThemes