Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/07/2011, 15h02   #1
Invité régulier
 
Inscription : juillet 2009
Messages : 35
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 35
Points : 5
Points : 5
Par défaut Parcourir liste quelque soit l'indice

Bonjour,
j'ai une liste de ce type :
Code :
1
2
3
4
5
6
7
8
liste_univ_nbr['Université de Lille 1']= new Array();
liste_univ_nbr['Université de Lille 1']['0'] =11;
liste_univ_nbr['Université de Lille 1']['1'] =3.1450965;
liste_univ_nbr['Université de Lille 1']['2'] =50.611042;
liste_univ_nbr['Universités d\'Angers']= new Array();
liste_univ_nbr['Universités d\'Angers']['0'] =1;
liste_univ_nbr['Universités d\'Angers']['1'] =-0.54893;
liste_univ_nbr['Universités d\'Angers']['2'] =47.477282;
que j'aimerais parcourir dans une boucle parcourant une autre liste qui sera nécessairement plus grande ou de taille égale à la liste liste_univ_nbr.
Comment faire pour vérifier l'existence de liste_univ_nbr['Université de Paris'], qui donc ici n'existe pas sans bloquer le script ?

Merci
Paulo62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 15h25   #2
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Salut,

Avec l'operateur typeof pour déterminer le type de la variable par exemple.
Code js :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function isIndex_exists(index){
	return (typeof liste_univ_nbr[index]==='object');
}
 
function test(){
	if(isIndex_exists('Universités de Paris'))
		alert( liste_univ_nbr['Universités de Paris'].toString() );
	else
		alert('Non trouvé');
}
 
var liste_univ_nbr=[];
liste_univ_nbr['Université de Lille 1']=[11,  3.1450965, 50.611042];
liste_univ_nbr['Universités d\'Angers']=[ 1, -0.54893  , 47.477282];
 
test();
 
liste_univ_nbr['Universités de Paris']=[ 1, 2 , 3.00];
 
test();
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 15h49   #3
Invité régulier
 
Inscription : juillet 2009
Messages : 35
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 35
Points : 5
Points : 5
Merci beaucoup, ça fonctionne.

A+
Paulo62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 15h50   #4
Membre éclairé
 
Homme
F5(){F5}
Inscription : avril 2008
Messages : 256
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : F5(){F5}
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2008
Messages : 256
Points : 320
Points : 320
bonjour,

je rajoute également les deux variantes :
Code :
1
2
3
4
5
6
7
8
function test(){
	if('Universités de Paris' in liste_univ_nbr){
		alert( liste_univ_nbr['Universités de Paris'].toString() );
        }
	else{
		alert('Non trouvé');
        }
}
ainsi que
Code :
1
2
3
4
5
6
7
8
function test(){
	if(liste_univ_nbr['Universités de Paris']){
		alert( liste_univ_nbr['Universités de Paris'].toString() );
        }
	else{
		alert('Non trouvé');
        }
}
je crois qu'il n'est pas nécessaire d'appeler toString(), qui est appelé par défaut lors de la tentative de conversion.
galerien69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 15h50   #5
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 867
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 867
Points : 1 374
Points : 1 374
Je trouve ta question peu claire, déjà du fait que tu nous parles d'une liste alors que tu as DEUX listes imbriquées dans ton exemple, j'ignore donc de laquelle tu parles.

Bref, pour parcourir tous les éléments d'une liste :

Code :
1
2
for(var i in liste_univ_nbr)
  TRAITEMENT( liste_univ_nbr[i] ); // TRAITEMENT à remplacer par la fonction de ton choix
pour détecter si un élément précis existe :
Code :
1
2
if(liste_univ_nbr['Université de Paris'])
  TRAITEMENT( liste_univ_nbr['Université de Paris'] ); // TRAITEMENT à remplacer par la fonction de ton choix
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2011, 15h52   #6
Invité régulier
 
Inscription : juillet 2009
Messages : 35
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 35
Points : 5
Points : 5
Merci pour la rapidité et pour vos réponses !
La solution proposée dans la première réponse me convient parfaitement, il s'agit juste d'un test de vérification d'existence d'un indice dans une liste, mais comme c'est l'une des premièrs fois que j'utilise javascript sur mon site, je n'y ai pas trop réussi !

Merci
Paulo62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h38.


 
 
 
 
Partenaires

Hébergement Web