Vous êtes sur la page 1sur 1

Developpez.

com
Discussion JavaScript

Connexion S'inscrire Index

Déclaration de tableau d'objets 

tim1789 a écrit:
06/07/2010 à 18h11

Déclaration de tableau d'objets


1
2
Bonjour,
3 var cont=[];
Je voudrais
4 déclarer un tableau (famille) d'objets
var famille=[];
(fam)5 en javascript et remplir les données de
var fam=new Object();
ces 67objets par une boucle à partir d'un tableau
..........................................
(cont),
8 les données sont séparées par un ; dans
..........................................
le tabeau
9 for (var
initial : i=0; i<cont.length; i++) {
10 fam.nom=cont[i].split(';')[0];
11 fam.ind=cont[i].split(';')[1];
Code:
12 [Affichage]
fam.exp=cont[i].split(';')[2];
13
14 fam.photo=cont[i].split(';')[3];
famille.push(fam);
//ou famille[i]=fam;
}

En faisant cela, je ne récupère dans famille que


le dernier objet de la boucle, surement un
problème de déclaration de tableau. En fait, je
n'ai trouvé nul part une doc claire de tableau
d'objets Curieux, non ? Quelqu'un peut m'aider
?
Merci

0 0

Bovino a écrit:
06/07/2010 à 22h49

1
2 var cont=['0;1;2;3','4;5;6;7','8;9;10;11']
3 var famille=[];
4 var fam=new Object();
5 Envoyé par tim1789
for (var i=0; i<cont.length; i++) {
Quelqu'un
6 peut m'aider ?
7 fam.nom=cont[i].split(';')[0];
fam.ind=cont[i].split(';')[1];
Ben,89 pour le fam.exp=cont[i].split(';')[2];
moment non, parce que
Code:
10 [Affichage]
fam.photo=cont[i].split(';')[3];
11 famille.push(fam);
12
//ou famille[i]=fam;
}
alert(famille)

renvoie bien le résultat attendu, donc ton


problème vient de ce que tu ne nous montres
pas :
................................................
................................................

Pas de question technique par MP !


Tout le monde peut participer à
developpez.com, vous avez une idée,
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
Module Firefox / Chrome d'intégration de
JSFiddle et CodePen sur le forum

0 0

tim1789 a écrit:
07/07/2010 à 13h44

Voici plus précisément ce que je cherche à faire


:
Le fichier d'entrée est une chaine dont les blocs
de données sont séparés, ici par des /, chaque
bloc comportant 4 sous données séparées par
des points virgules, comme sur l'exemple ci
dessous

Code: [Affichage]
1
2
3 var fichier='0;1;2;3/4;5;6;7/8;9;10;11';
4 var famille=[];
5
var cont=fichier.split('/');
6
7 var fam=new Object();
Comme
8 résultat, j'obtiens bien 3 objets dans le
9 for (var
message d'alerte i=0;
mais je i<cont.length; i++) 4{
m'attends à trouver
10 fam.nom=cont[i].split(';')[0];
pour
11 fam.nom (le premier élément du second
fam.ind=cont[i].split(';')[1];
bloc),
12 en fait, je trouve 8, le premier élément du
fam.exp=cont[i].split(';')[2];
13
dernier bloc !fam.photo=cont[i].split(';')[3];
14
Je 15
n'ai mémorisé que le dernier objet, d'où ma
famille.push(fam);
question.
16 //ou famille[i]=fam;
}
x=famille[1];
alert('famille
0 : '+famille+'
0 fam.nom :

dukej a écrit:
07/07/2010 à 13h47

Envoyé par tim1789


Voici plus précisément ce que je cherche à
faire :
Le fichier d'entrée est une chaine dont les
blocs de données sont séparés, ici par des /,
chaque bloc comportant 4 sous données
séparées par des points virgules, comme sur
l'exemple ci dessous

Code: [Affichage]
1
2
3 var fichier='0;1;2;3/4;5;6;7/8;9;10;11';
4 var famille=[];
5
var cont=fichier.split('/');
6
7
Comme
8 for (var
résultat, i=0; ibien
j'obtiens <cont.
3 length
objets;dans
i++) {
9
le message fam.nom=
d'alerte cont[je
mais i]m'attends
.split(';'à)[0];
10 fam.ind=cont[i].split(';')[1];
trouver
11 4 pour fam.nom (le premier élément
fam.exp=cont[i].split(';')[2];
du 12
second bloc), en fait, je trouve 8, le
fam.photo=cont[i].split(';')[3];
13
premier élément du dernier
famille. push(fambloc
); !
14
Je 15
n'ai mémorisé
//ou que le dernier objet, d'où
famille[i]=fam;
ma question.
}
x=famille[1];
Ben dans alert('famille
ta boucle : '+que
tu ne fais famille+'
modifier etfam.nom
toujours modifier le même objet fam.
si tu faisait ton fam = new Object(); dans la
boucle for, ça marcherait mieux

et plus simple :
Code: [Affichage]
1
2 var fichier='0;1;2;3/4;5;6;7/8;9;10;11';
3 var famille=[];
4 var cont=fichier.split('/');
5
var fam=new Object();
6
7
8 for (var i=0; i<cont.length; i++) {
9 var a = cont[i].split(';');
10 famille.push({
0 0
11 nom:a[0],
12
ind:a[1],
13 tim1789 a écrit:
14 exp:a[2],
07/07/2010 à 14h48
15 photo:a[3]
16 });
}
x=famille[1];
document.write('famille : '+famille+'
C'est vrai que ça marche beaucoup mieux !
Merci

0 0

S'identifier S'inscrire Haut de page

Copyright 2000-2018 www.developpez.com - Legal


informations

Vous aimerez peut-être aussi