|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : janvier 2009 Messages : 9 ![]() |
Bonjour à vous,
Je suis avec jQuery 1.6.4. Je cherche à vérifier simplement si un tableau est présent dans un autre tableau. J'espérais pouvoir utiliser $.inArray, mais : Code :
alert($.inArray(['toto'],[['toto'],'tata'])); Est ce que $.inArray est utilisable pour vérifier si tout type d'objet est présent dans un tableau ? Là j'en suis aux phases de recherches, mais pour la suite je vais avoir des structures plus complexes à chercher dans un tableau, comme : Merci d'avance pour votre coup de main |
|
|
00
|
|
|
#2 | |
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
Bonjour,
devrait suffire. Citation:
jQuery.inArray()
|
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : janvier 2009 Messages : 9 ![]() |
Merci pour la réponse rapide.
Mais ma structure de tableau est bien, grosso modo : Je ne peux pas changer ma structure juste pour obtenir ce que je désire. imaginons que j'ai : et que je veuille vérifier que ['toto','tata'] est bien contenu dans mon ensemble ? |
|
|
00
|
|
|
#4 | ||
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
dans ce cas il te faut récupérer les différents contenus et les comparés, cela pourrait donner un truc du style
Code :
|
||
|
|
00
|
|
|
#5 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
JavaScript ne permet pas de comparer l'égalité de deux tableaux et dans le code de jQuery, tu pourras constater qu'inArray() se contente de tester l'égalité de la valeur recherchée avec chaque élément du tableau (si indexOf n'est pas disponible, mais ça revient au même).
Tu devras donc, si tu as vraiment besoin de cette fonctionnalité, la coder toi-même.
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : janvier 2009 Messages : 9 ![]() |
Ouep...
Bon bah... je vais m'y atteler. Merci à vous ! |
|
|
00
|
|
|
#7 | ||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Allez, c'est mon jour de bonté
Une première approche qui semble concluante d'après mes premiers tests : Code :
D'autre part, la fonction ne teste que l'égalité au niveau des tableaux, pas pour les autres objets complexes (objets, fonctions, ...)
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
||
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : janvier 2009 Messages : 9 ![]() |
Oui, c'est sûr que l'idéal voudrait une comparaison de "tout".
Mais je me pose aussi sérieusement la question : en général, quand tu cherches à faire quelque chose que personne ne fait jamais, c'est que ce que tu cherches à faire est une mauvaise idée. En fait je suis coincé avec une structure de tableaux imbriqués complexes que je reçois du backend, mais je ne vois pas comment l'améliorer. Pour le forEach, utiliser le $.each() de jQuery serait l'alternative, non ? |
|
|
00
|
|
|
#9 | ||
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 221 ![]() |
Bonjour
J'arrive à traiter un tableau complexe (plusieurs niveaux). Bien entendu, si vous recherchez différents tableaux de valeur dans le même tableau de données, vous devez utiliser la méthode récursive une seule fois. Reste à tester si la fonction récursive n'a pas une consommation mémoire excessive et un temps d'exécution prohibitif pour des tableaux complexes comportant plusieurs milliers d'éléments. Code :
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & CoSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
||
|
00
|
Copyright © 2000-2012 - www.developpez.com