163 votes

Trouver si la variable est divisible par 2

Comment savoir si une variable est divisible par 2 ? En outre, j'ai besoin de faire une fonction si c'est le cas et de faire une fonction différente si ce n'est pas le cas.

6 votes

@SilentGhost : est-ce que les gens ont vraiment des devoirs sur jQuery de nos jours ?

6 votes

Je ne sais pas ce qu'il en est pour Andy, mais il est certain que les gens savent comment semer la pagaille dans leurs étiquettes.

2 votes

@OP : jQuery n'est pas la réponse à tout ce que vous pourriez vouloir faire en JavaScript ;)

392voto

Andy E Points 132925

Utiliser le module :

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

40 votes

J'adore ! C'est simple, facile, et vous ne m'avez pas fait passer pour un idiot pour avoir posé la question... ce qui (pour tous ceux qui ne le savent pas déjà) est très important pour les nouveaux développeurs de jQuery/Javascript.

7 votes

@sadmicrowave : nous commençons tous par être des débutants à un moment donné. Le vrai problème est le manque de tutoriels informatifs. Les tutoriels destinés aux débutants absolus devraient clarifier la différence entre JavaScript et jQuery et se plonger directement dans les choses de jQuery.

4 votes

Le premier code que j'ai écrit était en JavaScript, et il s'agissait d'une fenêtre d'alerte de "bienvenue". C'était en 1997 et c'était pour ma page d'accueil Geocities. Il est certain que nous commençons tous quelque part (une formation formelle aide aussi, cependant).

28voto

Anurag Points 66470

Sérieusement, il n'y a pas de plugin jQuery pour les contrôles pair/impair ?

Eh bien, ce n'est plus le cas - la publication de "Oven", un plugin jQuery sous licence MIT, permet de tester si un nombre donné est pair/impair.

Le code source est également disponible à l'adresse suivante http://jsfiddle.net/7HQNG/

Les suites de tests sont disponibles à l'adresse suivante 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);
    };
})();

9 votes

Wow. C'est drôle, mais vous réalisez que quelqu'un va l'utiliser ?

7 votes

@Tim Down : Je me demande si quelqu'un l'utilise. plugin arithmétique de base jQuery ? Prochain sur la liste, un générateur de nombres aléatoires jQuery ;-)

9 votes

Il y a tellement de choses que jQuery peut faire, comme créer des variables, des fonctions, etc. JavaScript brut . Tout simplement incroyable ;-)

14voto

Mike Atlas Points 5636

Vous n'avez pas besoin de jQuery. Il suffit d'utiliser Modulo de JavaScript de l'opérateur.

6 votes

doxdesk.com/img/updates/20091116-so-large.gif Pour ceux qui ne comprennent pas de quoi parle @AlexCoplan

13voto

wsanville Points 22066

Vous pouvez utiliser l'opérateur modulus comme ceci, sans avoir besoin de jQuery. Il suffit de remplacer l'élément alerts avec votre code.

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

12voto

Tomek Fertacz Points 19

Vous pouvez le faire de manière plus efficace (jusqu'à 50 % plus rapide que l'opérateur modulo) :

impair : x & 1 pair : !(x & 1)

Référence : High Performance JavaScript, 8 ->Opérateurs bitwise

0 votes

C'est une excellente réponse, en fait la meilleure. Cependant, elle nécessite des connaissances sur les opérateurs bitwise

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X