Vérifier si chaque élément d'un tableau est identique en javascript
J'ai besoin de tester si chaque élément dans un tableau sont identiques les uns aux autres. Par exemple:
var list = ["l","r","b"]
Devrait évaluer comme faux, parce que chaque élément n'est pas identique. D'un autre côté c':
var list = ["b", "b", "b"]
Devrait évaluer comme vrai, car ils sont tous identiques. Ce qui serait le plus efficace (en vitesse/ressources) des façons d'y parvenir?
OriginalL'auteur Nick | 2012-03-10
Vous devez vous connecter pour publier un commentaire.
Votre solution a le plus de sens pour moi. Cependant, j'ai changer le "!=" "!==" parce que votre solution renvoie true dans le tableau suivant [1,1,1,1,1,1,"1"], où le dernier caractère d'une chaîne.
vous avez raison, corrigé, merci!
J'aimerais voir quelque chose de similaire, mais pour les objets.
OriginalL'auteur Dogbert
Dans l'ES5, vous pouvez faire:
.every
ne court-circuit.Merci, c'est très élégant. Je suis allé pour Dogberts solution à la fin pour éviter l'ajout de la matrice.tous les code pour prendre en charge les navigateurs plus anciens - mais en principe, cela aurait fonctionné à merveille.
OriginalL'auteur pimvdb
Ouais je viens de remarquer que.
Modifié pour fonctionner maintenant.
OriginalL'auteur Jivings
Ouais, je n'étais pas sûr si l'OP voulait pour une utilisation ultérieure, ou remis en fonction.
OriginalL'auteur Waynn Lue
Ma suggestion serait de supprimer les doublons (découvrez Façon la plus simple de trouver les doublons dans un tableau JavaScript), puis vérifiez si la longueur == 1. Cela signifie que tous les éléments étaient les mêmes.
En fait j'ai été suggérant la deuxième réponse (specifier), que supprimer les doublons sans tri.
OriginalL'auteur Kory Sharp
OriginalL'auteur Erix
Vous pouvez toujours faire un nouveau Jeu, et vérifiez la longueur.
OriginalL'auteur Jen