2010-05-12 42 views
85

¿Cómo averiguar si una variable es divisible por 2? Además, necesito hacer una función si es así y hacer una función diferente si no es así.Encuentra si la variable es divisible por 2

+5

@SilentGhost: Por qué la gente realmente consigue la tarea jQuery hoy en día? –

+4

no sé nada de eso Andy, pero la gente seguramente sabe cómo estropear sus etiquetas. – SilentGhost

+2

@OP: jQuery no es la respuesta a todo lo que pueda querer hacer en JavaScript;) –

Respuesta

229

Uso módulo:

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

¡me encanta! simple, fácil, y no me hizo sentir como un idiota por hacer la pregunta ... que (para todos los demás que aún no saben) es un gran problema para los nuevos desarrolladores de jQuery/Javascript. – sadmicrowave

+5

@sadmicrowave: todos comenzamos como principiantes en algún momento. El verdadero problema es la falta de tutoriales informativos por ahí. Los tutoriales para principiantes absolutos deberían aclarar la diferencia entre JavaScript y jQuery, y se sumergen directamente en el material de jQuery. –

+2

El primer código que escribí fue en JavaScript, y era una ventana emergente de alerta "bienvenida". El año fue 1997 y fue para mi página de Geocities. Definitivamente todos comenzamos en algún lado (aunque algunos entrenamientos formales también ayudan). –

13

No es necesario jQuery. Solo use el operador JavaScript's Modulo.

+25

-1 no es suficiente jQuery –

+4

http://www.doxdesk.com/img/updates/20091116-so-large.gif, para aquellos de ustedes que no entienden de lo que @AlexCoplan está hablando – Markasoftware

9

Puede usar el operador de módulo de esta manera, sin necesidad de jQuery. Simplemente reemplace el alerts con su código.

var x = 2; 
if (x % 2 == 0) 
{ 
    alert('even'); 
} 
else 
{ 
    alert('odd') 
} 
3
var x = 2; 
x % 2 ? oddFunction() : evenFunction(); 
6

También puede:

if (x & 1) 
itsOdd(); 
else 
itsEven(); 
26

En serio, no hay plugin de jQuery, incluso para los cheques/impares?

Bueno, ya no - liberando "Oven" un plugin jQuery bajo la licencia MIT para probar si un número dado es impar/par.

El código fuente está también disponible en http://jsfiddle.net/7HQNG/

Test-suites están disponibles a 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); 
    }; 
})();​ 
+8

+1 para la broma ... al menos espero que estés bromeando ;-) –

+7

Wow. Es curioso, pero ¿te das cuenta de que alguien realmente usará esto? –

+7

@Tim Down: me pregunto si alguien usa ese [jQuery basic arithmetic plugin] (http://www.reddit.com/r/programming/comments/buosj/add_a_number_to_another_number_in_javascript_img/c0on5ev)? Siguiente en la lista, un generador de números aleatorios jQuery ;-) –

0

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

array.each {| x | pone x si x% 2 == 0}

rubí: D

+0

lol. Troll a la moda, señor. ¿Cómo lo haces? @SteveO – Todd

+1

¿Vagabundea desde 4chan? – Todd

9

Puede hacerlo de una manera mejor (hasta un 50% más rápido que el módulo operador):

extraña: x 1 & incluso: (x & 1)

Referencia: Alto Rendimiento JavaScript, 8. -> Operadores bit a bit

0

Por favor escriba el código siguiente en la consola:

var isEven = function(deep) { 

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

Por favor Nota: Volverá cierto, si el número introducido es aún otra manera falsa.

+0

gracias por la respuesta, pero esto es esencialmente lo mismo que la respuesta aceptada, acaba de envolverlo en una función. De todos modos, gracias por contribuir – sadmicrowave

0

Use el módulo, pero ... La respuesta aceptada anteriormente es ligeramente incorrecta. Creo porque X es un tipo Número en JavaScript que el operador debe ser una asignación doble en lugar de una triple misión, así:

x % 2 == 0 

Recuerde que declarar las variables también, así que, obviamente, esa línea no se puede escribir ser único. :-) Usualmente se usa como una declaración if. Espero que esto ayude.

Cuestiones relacionadas