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 24/12/2011, 17h31   #1
Invité de passage
 
Inscription : décembre 2004
Messages : 7
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 7
Points : 1
Points : 1
Par défaut Accéder aux éléments d'un object javascript

Bonjour,

Je suis nouveau dans le monde du dev web et j'ai un petit soucis pour accéder aux éléments d'un objet javascript.
L'object s'appelle datasets et a cette forme (code récupéré via console.log(datasets) dans firebug) :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
TS1HIGEO
	Object { label="TS1-HIGEO", color=0, data=[6]}
 
TS2HIGEO
	Object { label="TS2-HIGEO", color=1, data=[6]}
 
TS3HIGEO
	Object { label="TS3-HIGEO", color=2, data=[6]}
 
TS4HIGEO
	Object { label="TS4-HIGEO", color=3, data=[6]}
 
TS5HIGEO
	Object { label="TS5-HIGEO", color=4, data=[6]}
le problème c'est que TS1HIGEO, TS2HIGEO, etc.. sont des variables que je récupère de php via json_encode.

Donc je ne sais pas comment accéder à datasets.X.data

où X peu être TS1HIGEO, TS2HIGEO,etc.. C'est un bête problème logique et de syntaxe, mais si vous pouvez me donner un coup de main, j'apprécierais vachement super beaucoup !
daeavelwyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2011, 18h32   #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,

L'objet se présente ainsi :
Code :
1
2
3
4
5
6
7
var monObject={
	TS1HIGEO:{label:"TS1-HIGEO", color:0, data:[6]},
	TS2HIGEO:{label:"TS2-HIGEO", color:1, data:[6]},
	TS3HIGEO:{label:"TS3-HIGEO", color:2, data:[6]},
	TS4HIGEO:{label:"TS4-HIGEO", color:3, data:[6]},
	TS5HIGEO:{label:"TS5-HIGEO", color:4, data:[6]}
};
Ex. : Pour accéder au premier élément du tableau data de TS1HIGEO de monObject,

Code :
var data =  monObject.TS1HIGEO.data[0];
__________________

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 24/12/2011, 19h03   #3
Invité de passage
 
Inscription : décembre 2004
Messages : 7
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 7
Points : 1
Points : 1
heu ok, mais donc je dois itérer sur mon object ?

genre :
Code :
1
2
3
4
5
6
 
var recup=[];
for(i=0;i<monObject.length;i++)
{
    var recup.push(monobject.i.data[0]);
}
ça marcherait comme ça ? faut penser ça autrement ?

Merci pour ton aide
daeavelwyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2011, 19h15   #4
Expert Confirmé Sénior
 
Avatar de Auteur
 
Inscription : avril 2004
Messages : 4 795
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 4 795
Points : 5 119
Points : 5 119
bonjour,

étudie ce code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
var monObject={
	TS1HIGEO:{label:"TS1-HIGEO", color:0, data:[6]},
	TS2HIGEO:{label:"TS2-HIGEO", color:1, data:[6]},
	TS3HIGEO:{label:"TS3-HIGEO", color:2, data:[6]},
	TS4HIGEO:{label:"TS4-HIGEO", color:3, data:[6]},
	TS5HIGEO:{label:"TS5-HIGEO", color:4, data:[6]}
};
 
var p;
var i=0;
var tabP = new Array();
 
// boucle qui liste les propriétés de monObject.TS1HIGEO
// (on remarquera le mot-clef "in")
for (p in monObject.TS1HIGEO)	
{
	tabP[i] = p;
	i++;
}
 
alert(tabP);	// affiche les propriétés trouvées : label ; color ; data
 
// boucle qui permet d'afficher le contenu des propriétés
for (i=0; i<tabP.length; i++)
{
	alert(tabP[i] + "= " + monObject.TS1HIGEO[tabP[i]]);	
}
Auteur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2011, 19h24   #5
Invité de passage
 
Inscription : décembre 2004
Messages : 7
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 7
Points : 1
Points : 1
Cool

Merci pour le détail, ça me donne une idée plus claire de comment manipuler les objets javascript

Bon réveillon
daeavelwyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h01.


 
 
 
 
Partenaires

Hébergement Web