변수를 2로 나눌 수 있는지 확인


128

변수를 2로 나눌 수 있는지 어떻게 알 수 있습니까? 또한 나는 그것이 있다면 기능을 수행하고 그렇지 않으면 다른 기능을 수행해야합니다.


6
@SilentGhost : 사람들은 요즘 jQuery 숙제를합니까?
Andy E

4
앤디는 모르지만 사람들은 태그를 어지럽히는 방법을 알고 있습니다.
SilentGhost

2
@OP : jQuery는 JavaScript로 할 수있는 모든 것에 대한 답이 아닙니다.)
Mike Atlas

8
@ 마이크 잘못! 이를 위해 jQuery 기본 산술 플러그인을 사용해야합니다! 그게 갈 길 ... : P (Irony)
Pablo Cabrera

답변:


312

계수 사용 :

// Will evaluate to true if the variable is divisible by 2
variable % 2 === 0  

30
그것을 사랑하십시오! 간단하고 쉽고, 질문을하는 바보 같은 느낌을주지 않았습니다 ... (아직 모르는 다른 모든 사람들에게) 새로운 jQuery / Javascript 개발자에게 큰 문제입니다.
sadmicrowave

6
@sadmicrowave : 우리는 어느 시점에서 초보자로 시작합니다. 실제 문제는 유익한 튜토리얼이 없다는 것입니다. 절대 초보자를위한 자습서는 JavaScript와 jQuery의 차이점을 명확히해야하며 jQuery에 직접 뛰어 들어야합니다.
Andy E

3
내가 작성한 첫 번째 코드는 JavaScript로 작성되었으며 "환영"경고 상자 팝업입니다. 그 해는 1997 년이었고 내 Geocities 홈페이지였습니다. 우리는 모두 어딘가에서 시작합니다 (일부 공식 교육도 도움이됩니다).
Mike Atlas

해서는 안됩니다 : variable % 2 == 0 내가 틀렸다면 나에게 교육하십시오.
Sean Tank Garvey

28

심각하게, 홀수 / 짝수 검사를위한 jQuery 플러그인이 없습니까?

음, 더 이상은 아닙니다-MIT 라이센스에 따라 jQuery 플러그인을 "Oven"을 공개하여 주어진 숫자가 홀수 / 짝수인지 테스트합니다.

소스 코드는 http://jsfiddle.net/7HQNG/ 에서도 볼 수 있습니다

테스트 슈트는 http://jsfiddle.net/zeuRV/ 에서 제공됩니다.

(function() {
    /*
     * isEven(n)
     * @args number n
     * @return boolean returns whether the given number is even
     */
    jQuery.isEven = function(number) {
        return number % 2 == 0;
    };

    /* isOdd(n)
     * @args number n
     * @return boolean returns whether the given number is odd
     */
    jQuery.isOdd = function(number) {
        return !jQuery.isEven(number);
    };
})();​

7
와. 재밌지 만 누군가가 실제로 이것을 사용할 것이라는 것을 알고 있습니까?
Tim Down

7
@Tim Down : 누군가 jQuery 기본 산술 플러그인을 사용하는지 궁금합니다 . 다음으로 jQuery 난수 생성기 ;-)
Andy E

9
변수, 함수 등을 생성하는 것과 같이 jQuery가 원시 JavaScript로 여전히 수행 할 수있는 작업이 너무 많습니다 . 믿을 수 없을 정도로 ;-)
Anurag

4
@Andy - ROFL 링크와 SO 이미지에서 - doxdesk.com/img/updates/20091116-so-large.gif 나는 "사용 jQuery를"대답은 이제 자바 스크립트에 모든 시간 최고에 도달 거 같아요 :)
아누 라그

당신은 그것을 사용하는 단어 문서 설명이 있습니까? @Anurag
Todd


11

jQuery가 필요없이 모듈러스 연산자를 이와 같이 사용할 수 있습니다. alerts코드로 바꾸십시오 .

var x = 2;
if (x % 2 == 0)
{
  alert('even');
}
else
{
  alert('odd')
}

11

더 나은 방법으로 수행 할 수 있습니다 (모듈로 연산자보다 최대 50 % 빠름).

홀수 : x & 1 짝수 :! (x & 1)

참조 : 고성능 JavaScript, 8-> 비트 연산자


이것은 실제로 가장 좋은 대답입니다. 그러나 비트 연산자에 대한 지식이 필요합니다.
Sean Tank Garvey


4
var x = 2;
x % 2 ? oddFunction() : evenFunction();

이 코드가 잘못되었거나 결함이 있다고 생각합니다. 변수 x에 대한 값을 선언하고 있습니다 (특히 x는 항상 숫자 2와 같음). 첫 번째 오류. 그런 다음 다음 줄은 변수 x를 2로 나눌 수 있으면 oddFunction을 수행하고 그렇지 않으면 evenFunction을 수행하지 않는 경우라고 말합니다.이 접근법의 문제점은 항상 evenFunction을 생성한다는 것입니다. -또 다른 문제 / 오류입니다. 내가 틀렸다면 가르쳐주세요.
Sean Tank Garvey


2

도움이 되었기를 바랍니다.

let number = 7;

if(number%2 == 0){      

  //do something;
  console.log('number is Even');  

}else{

  //do otherwise;
  console.log('number is Odd');

}

다음은 입력 패리티를 콘솔에 기록하는 완전한 기능입니다.

const checkNumber = (x) => {
  if(number%2 == 0){      

    //do something;
    console.log('number is Even');  

  }else{

    //do otherwise;
    console.log('number is Odd');

  }
}

1

콘솔에 다음 코드를 작성하십시오 :

var isEven = function(deep) {

  if (deep % 2 === 0) {
        return true;  
    }
    else {
        return false;    
    }
};
isEven(44);

참고 : 입력 한 숫자가 다른 경우에도 true를 반환합니다.


1
답변 주셔서 감사하지만 이것은 기본적으로 허용되는 답변과 동일합니다. 방금 함수에 래핑했습니다. 어쨌든, 기여해 주셔서 감사합니다
sadmicrowave

1

모듈러스를 사용하되 .. 위의 답변은 약간 부정확합니다. x는 JavaScript에서 숫자 유형이기 때문에 연산자가 트리플 할당 대신 더블 할당이어야한다고 생각합니다.

x % 2 == 0

변수도 선언해야하므로 분명히 해당 줄을 독립형으로 작성할 수 없습니다. :-) 일반적으로 설명으로 사용됩니다 if. 도움이 되었기를 바랍니다.


-2

배열 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

array.each {| x | x % 2 == 0이면 x를 넣습니다.}

루비 : D

2 4 6 8 10


1
4chan에서 방황?
Todd
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.