infos est donc un tableau d'objets. Il faut donc tout simplement parcourir le tableau et récupérer ce dont on a besoin.
// votre "infos" et "adresses" le tableau qui contiendra les adresses var infos = [ {nom: "xxx", prenom: "thomas", adresse:{rue:"avenue victor hugo", num: "18", cp:"06000", ville:"NICE"}}, {nom: "yyy", prenom: "éric", adresse:{rue:"rue delille", num: "23", cp:"75000", ville:"PARIS"}}, {nom: "zzz", prenom: "jeanne", adresse:{rue:"impasse toulouse lautrec", num: "5", cp:"77500", ville:"CHELLES"}} ], adresses = [];
// on boucle dans "infos" for(i in infos){ // on ajoute dans "adresses", l'adresse de l'élément actuellement parcouru adresses.push(infos[i].adresse); } console.log(adresses);
"adresses" sera, ici, un tableau de 3 objets (chaque objet contiendra les attributs rue, num, cp et ville)
infos est donc un tableau d'objets.
Il faut donc tout simplement parcourir le tableau et récupérer ce dont
on a besoin.
// votre "infos" et "adresses" le tableau qui contiendra les adresses
var infos = [
{nom: "xxx", prenom: "thomas", adresse:{rue:"avenue victor hugo", num:
"18", cp:"06000", ville:"NICE"}},
{nom: "yyy", prenom: "éric", adresse:{rue:"rue delille", num: "23",
cp:"75000", ville:"PARIS"}},
{nom: "zzz", prenom: "jeanne", adresse:{rue:"impasse toulouse lautrec",
num: "5", cp:"77500", ville:"CHELLES"}}
], adresses = [];
// on boucle dans "infos"
for(i in infos){
// on ajoute dans "adresses", l'adresse de l'élément actuellement
parcouru
adresses.push(infos[i].adresse);
}
console.log(adresses);
"adresses" sera, ici, un tableau de 3 objets (chaque objet contiendra
les attributs rue, num, cp et ville)
infos est donc un tableau d'objets. Il faut donc tout simplement parcourir le tableau et récupérer ce dont on a besoin.
// votre "infos" et "adresses" le tableau qui contiendra les adresses var infos = [ {nom: "xxx", prenom: "thomas", adresse:{rue:"avenue victor hugo", num: "18", cp:"06000", ville:"NICE"}}, {nom: "yyy", prenom: "éric", adresse:{rue:"rue delille", num: "23", cp:"75000", ville:"PARIS"}}, {nom: "zzz", prenom: "jeanne", adresse:{rue:"impasse toulouse lautrec", num: "5", cp:"77500", ville:"CHELLES"}} ], adresses = [];
// on boucle dans "infos" for(i in infos){ // on ajoute dans "adresses", l'adresse de l'élément actuellement parcouru adresses.push(infos[i].adresse); } console.log(adresses);
"adresses" sera, ici, un tableau de 3 objets (chaque objet contiendra les attributs rue, num, cp et ville)
Olivier Masson
Le 03/04/2012 22:47, Clément a écrit :
// on boucle dans "infos" for(i in infos){ // on ajoute dans "adresses", l'adresse de l'élément actuellement parcouru adresses.push(infos[i].adresse); } console.log(adresses);
"adresses" sera, ici, un tableau de 3 objets (chaque objet contiendra les attributs rue, num, cp et ville)
Merci beaucoup, j'étais parti dans des trucs super compliqués. Cette notion d'objet m'échappe vraiment. Une fois le tableau adresses récupéré, je peux afficher chaque élément en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation que pour les tableaux. Et adresses[2].cp fonctionne aussi.
Le 03/04/2012 22:47, Clément a écrit :
// on boucle dans "infos"
for(i in infos){
// on ajoute dans "adresses", l'adresse de l'élément actuellement parcouru
adresses.push(infos[i].adresse);
}
console.log(adresses);
"adresses" sera, ici, un tableau de 3 objets (chaque objet contiendra
les attributs rue, num, cp et ville)
Merci beaucoup, j'étais parti dans des trucs super compliqués.
Cette notion d'objet m'échappe vraiment.
Une fois le tableau adresses récupéré, je peux afficher chaque élément
en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation
que pour les tableaux. Et adresses[2].cp fonctionne aussi.
// on boucle dans "infos" for(i in infos){ // on ajoute dans "adresses", l'adresse de l'élément actuellement parcouru adresses.push(infos[i].adresse); } console.log(adresses);
"adresses" sera, ici, un tableau de 3 objets (chaque objet contiendra les attributs rue, num, cp et ville)
Merci beaucoup, j'étais parti dans des trucs super compliqués. Cette notion d'objet m'échappe vraiment. Une fois le tableau adresses récupéré, je peux afficher chaque élément en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation que pour les tableaux. Et adresses[2].cp fonctionne aussi.
SAM
Le 04/04/12 10:45, Olivier Masson a écrit :
Le 03/04/2012 22:47, Clément a écrit :
// on boucle dans "infos" for(i in infos){ // on ajoute dans "adresses", l'adresse de l'élément actuellement parcouru adresses.push(infos[i].adresse); } console.log(adresses);
"adresses" sera, ici, un tableau de 3 objets (chaque objet contiendra les attributs rue, num, cp et ville)
Merci beaucoup, j'étais parti dans des trucs super compliqués. Cette notion d'objet m'échappe vraiment. Une fois le tableau adresses récupéré, je peux afficher chaque élément en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation que pour les tableaux. Et adresses[2].cp fonctionne aussi.
et si c'est pour seulement afficher qques adresses le passage par un autre array n'est pas vraiment utile.
function affiche(cecp) { for(n in infos) if(infos[n].adresse.cp == cecp) document.write('<p>'+ infos[n].prenom+' '+ infos[n].nom + '<br>n'+ infos[n].adresse.num+' '+infos[n].adresse.rue+'<br>n'+ infos[n].adresse.cp+' '+infos[n].adresse.ville+'</p>n'); }
affiche('75000');
-- Stéphane Moriaux avec/with iMac-intel
Le 04/04/12 10:45, Olivier Masson a écrit :
Le 03/04/2012 22:47, Clément a écrit :
// on boucle dans "infos"
for(i in infos){
// on ajoute dans "adresses", l'adresse de l'élément actuellement
parcouru
adresses.push(infos[i].adresse);
}
console.log(adresses);
"adresses" sera, ici, un tableau de 3 objets (chaque objet contiendra
les attributs rue, num, cp et ville)
Merci beaucoup, j'étais parti dans des trucs super compliqués.
Cette notion d'objet m'échappe vraiment.
Une fois le tableau adresses récupéré, je peux afficher chaque élément
en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation
que pour les tableaux. Et adresses[2].cp fonctionne aussi.
et si c'est pour seulement afficher qques adresses le passage par un
autre array n'est pas vraiment utile.
function affiche(cecp) {
for(n in infos) if(infos[n].adresse.cp == cecp)
document.write('<p>'+
infos[n].prenom+' '+
infos[n].nom + '<br>n'+
infos[n].adresse.num+' '+infos[n].adresse.rue+'<br>n'+
infos[n].adresse.cp+' '+infos[n].adresse.ville+'</p>n');
}
// on boucle dans "infos" for(i in infos){ // on ajoute dans "adresses", l'adresse de l'élément actuellement parcouru adresses.push(infos[i].adresse); } console.log(adresses);
"adresses" sera, ici, un tableau de 3 objets (chaque objet contiendra les attributs rue, num, cp et ville)
Merci beaucoup, j'étais parti dans des trucs super compliqués. Cette notion d'objet m'échappe vraiment. Une fois le tableau adresses récupéré, je peux afficher chaque élément en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation que pour les tableaux. Et adresses[2].cp fonctionne aussi.
et si c'est pour seulement afficher qques adresses le passage par un autre array n'est pas vraiment utile.
function affiche(cecp) { for(n in infos) if(infos[n].adresse.cp == cecp) document.write('<p>'+ infos[n].prenom+' '+ infos[n].nom + '<br>n'+ infos[n].adresse.num+' '+infos[n].adresse.rue+'<br>n'+ infos[n].adresse.cp+' '+infos[n].adresse.ville+'</p>n'); }
affiche('75000');
-- Stéphane Moriaux avec/with iMac-intel
Clément
Le 04/04/2012 10:45, Olivier Masson a écrit :
Le 03/04/2012 22:47, Clément a écrit :
// on boucle dans "infos" for(i in infos){ // on ajoute dans "adresses", l'adresse de l'élément actuellement parcouru adresses.push(infos[i].adresse); } console.log(adresses);
"adresses" sera, ici, un tableau de 3 objets (chaque objet contiendra les attributs rue, num, cp et ville)
Merci beaucoup, j'étais parti dans des trucs super compliqués. Cette notion d'objet m'échappe vraiment. Une fois le tableau adresses récupéré, je peux afficher chaque élément en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation que pour les tableaux. Et adresses[2].cp fonctionne aussi.
Tout à fait. Si vous connaissez PHP, pensez les objets JS comme un tableau associatif PHP (en un peu plus poussé).
Cela ferait en PHP $adresses = array( array( "rue"=>"avenue victor hugo", "num"=>"18", "cp"=>"06000", "ville"=>"NICE" ), array( ... ), etc. );
Pour avoir le "cp", vous feriez $adresses[0]["cp"];
Cela dit, vous pouvez aussi boucler sur adresses, si vous ne voulez pas vous taper toutes les possibilités.
for(i in adresses){ console.log(adresses[i].cp); // ou adresses[i]["cp"]; }
Le 04/04/2012 10:45, Olivier Masson a écrit :
Le 03/04/2012 22:47, Clément a écrit :
// on boucle dans "infos"
for(i in infos){
// on ajoute dans "adresses", l'adresse de l'élément actuellement
parcouru
adresses.push(infos[i].adresse);
}
console.log(adresses);
"adresses" sera, ici, un tableau de 3 objets (chaque objet contiendra
les attributs rue, num, cp et ville)
Merci beaucoup, j'étais parti dans des trucs super compliqués.
Cette notion d'objet m'échappe vraiment.
Une fois le tableau adresses récupéré, je peux afficher chaque élément
en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation
que pour les tableaux. Et adresses[2].cp fonctionne aussi.
Tout à fait. Si vous connaissez PHP, pensez les objets JS comme un
tableau associatif PHP (en un peu plus poussé).
Cela ferait en PHP
$adresses = array(
array(
"rue"=>"avenue victor hugo",
"num"=>"18",
"cp"=>"06000",
"ville"=>"NICE"
),
array(
...
), etc.
);
Pour avoir le "cp", vous feriez $adresses[0]["cp"];
Cela dit, vous pouvez aussi boucler sur adresses, si vous ne voulez pas
vous taper toutes les possibilités.
for(i in adresses){
console.log(adresses[i].cp); // ou adresses[i]["cp"];
}
// on boucle dans "infos" for(i in infos){ // on ajoute dans "adresses", l'adresse de l'élément actuellement parcouru adresses.push(infos[i].adresse); } console.log(adresses);
"adresses" sera, ici, un tableau de 3 objets (chaque objet contiendra les attributs rue, num, cp et ville)
Merci beaucoup, j'étais parti dans des trucs super compliqués. Cette notion d'objet m'échappe vraiment. Une fois le tableau adresses récupéré, je peux afficher chaque élément en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation que pour les tableaux. Et adresses[2].cp fonctionne aussi.
Tout à fait. Si vous connaissez PHP, pensez les objets JS comme un tableau associatif PHP (en un peu plus poussé).
Cela ferait en PHP $adresses = array( array( "rue"=>"avenue victor hugo", "num"=>"18", "cp"=>"06000", "ville"=>"NICE" ), array( ... ), etc. );
Pour avoir le "cp", vous feriez $adresses[0]["cp"];
Cela dit, vous pouvez aussi boucler sur adresses, si vous ne voulez pas vous taper toutes les possibilités.
for(i in adresses){ console.log(adresses[i].cp); // ou adresses[i]["cp"]; }
Clément
Le 05/04/2012 04:24, SAM a écrit :
Le 04/04/12 10:45, Olivier Masson a écrit :
Le 03/04/2012 22:47, Clément a écrit :
Merci beaucoup, j'étais parti dans des trucs super compliqués. Cette notion d'objet m'échappe vraiment. Une fois le tableau adresses récupéré, je peux afficher chaque élément en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation que pour les tableaux. Et adresses[2].cp fonctionne aussi.
et si c'est pour seulement afficher qques adresses le passage par un autre array n'est pas vraiment utile.
function affiche(cecp) { for(n in infos) if(infos[n].adresse.cp == cecp) document.write('<p>'+ infos[n].prenom+' '+ infos[n].nom + '<br>n'+ infos[n].adresse.num+' '+infos[n].adresse.rue+'<br>n'+ infos[n].adresse.cp+' '+infos[n].adresse.ville+'</p>n'); }
affiche('75000');
Si c'est pour de l'affichage, il ne faudrait pas utiliser document.write(). D'une part parce que c'est intrusif (il faut mettre "affiche()" pile à l'endroit voulu dans le html) et d'autre part car ce nouveau "<p>" ne sera pas reconnu dans le dom (à part sur les derniers navigateurs qui seront un petit peu plus intelligent) et donc impossible de jouer dessus par la suite en JS.
Le mieux étant d'avoir déjà une balise prête dans le html (style <p id="infos"></p>) et le remplir avec un p = document.getElementById("infos").innerHTML = ...
Le 05/04/2012 04:24, SAM a écrit :
Le 04/04/12 10:45, Olivier Masson a écrit :
Le 03/04/2012 22:47, Clément a écrit :
Merci beaucoup, j'étais parti dans des trucs super compliqués.
Cette notion d'objet m'échappe vraiment.
Une fois le tableau adresses récupéré, je peux afficher chaque élément
en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation
que pour les tableaux. Et adresses[2].cp fonctionne aussi.
et si c'est pour seulement afficher qques adresses le passage par un
autre array n'est pas vraiment utile.
function affiche(cecp) {
for(n in infos) if(infos[n].adresse.cp == cecp)
document.write('<p>'+
infos[n].prenom+' '+
infos[n].nom + '<br>n'+
infos[n].adresse.num+' '+infos[n].adresse.rue+'<br>n'+
infos[n].adresse.cp+' '+infos[n].adresse.ville+'</p>n');
}
affiche('75000');
Si c'est pour de l'affichage, il ne faudrait pas utiliser
document.write(). D'une part parce que c'est intrusif (il faut mettre
"affiche()" pile à l'endroit voulu dans le html) et d'autre part car ce
nouveau "<p>" ne sera pas reconnu dans le dom (à part sur les derniers
navigateurs qui seront un petit peu plus intelligent) et donc impossible
de jouer dessus par la suite en JS.
Le mieux étant d'avoir déjà une balise prête dans le html (style <p
id="infos"></p>) et le remplir avec un p =
document.getElementById("infos").innerHTML = ...
Merci beaucoup, j'étais parti dans des trucs super compliqués. Cette notion d'objet m'échappe vraiment. Une fois le tableau adresses récupéré, je peux afficher chaque élément en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation que pour les tableaux. Et adresses[2].cp fonctionne aussi.
et si c'est pour seulement afficher qques adresses le passage par un autre array n'est pas vraiment utile.
function affiche(cecp) { for(n in infos) if(infos[n].adresse.cp == cecp) document.write('<p>'+ infos[n].prenom+' '+ infos[n].nom + '<br>n'+ infos[n].adresse.num+' '+infos[n].adresse.rue+'<br>n'+ infos[n].adresse.cp+' '+infos[n].adresse.ville+'</p>n'); }
affiche('75000');
Si c'est pour de l'affichage, il ne faudrait pas utiliser document.write(). D'une part parce que c'est intrusif (il faut mettre "affiche()" pile à l'endroit voulu dans le html) et d'autre part car ce nouveau "<p>" ne sera pas reconnu dans le dom (à part sur les derniers navigateurs qui seront un petit peu plus intelligent) et donc impossible de jouer dessus par la suite en JS.
Le mieux étant d'avoir déjà une balise prête dans le html (style <p id="infos"></p>) et le remplir avec un p = document.getElementById("infos").innerHTML = ...
SAM
Le 05/04/12 11:38, Clément a écrit :
Le 05/04/2012 04:24, SAM a écrit :
et si c'est pour seulement afficher qques adresses le passage par un autre array n'est pas vraiment utile.
function affiche(cecp) { for(n in infos) if(infos[n].adresse.cp == cecp) document.write('<p>'+ infos[n].prenom+' '+ infos[n].nom + '<br>n'+ infos[n].adresse.num+' '+infos[n].adresse.rue+'<br>n'+ infos[n].adresse.cp+' '+infos[n].adresse.ville+'</p>n'); }
affiche('75000');
Si c'est pour de l'affichage, il ne faudrait pas utiliser document.write().
toutafé et même si ça peut fonctionner. C'était plus axé sur le mini-traitement du "à-la-Json" ;-) (que sur son enrobage)
Le mieux étant d'avoir déjà une balise prête dans le html (style <p id="infos"></p>) et le remplir avec un p > document.getElementById("infos").innerHTML = ...
Voilà ! Merci des précisions et correctifs.
-- Stéphane Moriaux avec/with iMac-intel
Le 05/04/12 11:38, Clément a écrit :
Le 05/04/2012 04:24, SAM a écrit :
et si c'est pour seulement afficher qques adresses le passage par un
autre array n'est pas vraiment utile.
function affiche(cecp) {
for(n in infos) if(infos[n].adresse.cp == cecp)
document.write('<p>'+
infos[n].prenom+' '+
infos[n].nom + '<br>n'+
infos[n].adresse.num+' '+infos[n].adresse.rue+'<br>n'+
infos[n].adresse.cp+' '+infos[n].adresse.ville+'</p>n');
}
affiche('75000');
Si c'est pour de l'affichage, il ne faudrait pas utiliser
document.write().
toutafé et même si ça peut fonctionner.
C'était plus axé sur le mini-traitement du "à-la-Json" ;-)
(que sur son enrobage)
Le mieux étant d'avoir déjà une balise prête dans le html (style <p
id="infos"></p>) et le remplir avec un p > document.getElementById("infos").innerHTML = ...
Le mieux étant d'avoir déjà une balise prête dans le html (style <p id="infos"></p>) et le remplir avec un p > document.getElementById("infos").innerHTML = ...
Voilà ! Merci des précisions et correctifs.
-- Stéphane Moriaux avec/with iMac-intel
Olivier Masson
Le 05/04/2012 11:28, Clément a écrit :
Merci beaucoup, j'étais parti dans des trucs super compliqués. Cette notion d'objet m'échappe vraiment. Une fois le tableau adresses récupéré, je peux afficher chaque élément en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation que pour les tableaux. Et adresses[2].cp fonctionne aussi.
Tout à fait. Si vous connaissez PHP, pensez les objets JS comme un tableau associatif PHP (en un peu plus poussé).
Oui, je connais PHP et c'est bien mon problème :) Ce n'était pas un besoin pour de l'affichage mais pour avoir un fichier unique (le contenu de la variable adresses) utilisable par deux applis JS qui n'accepte pas le même format en entrée.
J'ai pu avoir le format qui convenait (un array d'array) ainsi : for (i in infos) { adresses[i] = [ infos[i].adresse.rue, infos[i].adresse.num, infos[i].adresse.cp, infos[i].adresse.ville ]; }
Le 05/04/2012 11:28, Clément a écrit :
Merci beaucoup, j'étais parti dans des trucs super compliqués.
Cette notion d'objet m'échappe vraiment.
Une fois le tableau adresses récupéré, je peux afficher chaque élément
en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation
que pour les tableaux. Et adresses[2].cp fonctionne aussi.
Tout à fait. Si vous connaissez PHP, pensez les objets JS comme un
tableau associatif PHP (en un peu plus poussé).
Oui, je connais PHP et c'est bien mon problème :)
Ce n'était pas un besoin pour de l'affichage mais pour avoir un fichier
unique (le contenu de la variable adresses) utilisable par deux applis
JS qui n'accepte pas le même format en entrée.
J'ai pu avoir le format qui convenait (un array d'array) ainsi :
for (i in infos) {
adresses[i] = [ infos[i].adresse.rue, infos[i].adresse.num,
infos[i].adresse.cp, infos[i].adresse.ville ];
}
Merci beaucoup, j'étais parti dans des trucs super compliqués. Cette notion d'objet m'échappe vraiment. Une fois le tableau adresses récupéré, je peux afficher chaque élément en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation que pour les tableaux. Et adresses[2].cp fonctionne aussi.
Tout à fait. Si vous connaissez PHP, pensez les objets JS comme un tableau associatif PHP (en un peu plus poussé).
Oui, je connais PHP et c'est bien mon problème :) Ce n'était pas un besoin pour de l'affichage mais pour avoir un fichier unique (le contenu de la variable adresses) utilisable par deux applis JS qui n'accepte pas le même format en entrée.
J'ai pu avoir le format qui convenait (un array d'array) ainsi : for (i in infos) { adresses[i] = [ infos[i].adresse.rue, infos[i].adresse.num, infos[i].adresse.cp, infos[i].adresse.ville ]; }
Clément
Le 05/04/2012 14:58, Olivier Masson a écrit :
Le 05/04/2012 11:28, Clément a écrit :
Merci beaucoup, j'étais parti dans des trucs super compliqués. Cette notion d'objet m'échappe vraiment. Une fois le tableau adresses récupéré, je peux afficher chaque élément en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation que pour les tableaux. Et adresses[2].cp fonctionne aussi.
Tout à fait. Si vous connaissez PHP, pensez les objets JS comme un tableau associatif PHP (en un peu plus poussé).
Oui, je connais PHP et c'est bien mon problème :) Ce n'était pas un besoin pour de l'affichage mais pour avoir un fichier unique (le contenu de la variable adresses) utilisable par deux applis JS qui n'accepte pas le même format en entrée.
J'ai pu avoir le format qui convenait (un array d'array) ainsi : for (i in infos) { adresses[i] = [ infos[i].adresse.rue, infos[i].adresse.num, infos[i].adresse.cp, infos[i].adresse.ville ]; }
Ce serait plus beau avec un Array.push()
Le 05/04/2012 14:58, Olivier Masson a écrit :
Le 05/04/2012 11:28, Clément a écrit :
Merci beaucoup, j'étais parti dans des trucs super compliqués.
Cette notion d'objet m'échappe vraiment.
Une fois le tableau adresses récupéré, je peux afficher chaque élément
en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation
que pour les tableaux. Et adresses[2].cp fonctionne aussi.
Tout à fait. Si vous connaissez PHP, pensez les objets JS comme un
tableau associatif PHP (en un peu plus poussé).
Oui, je connais PHP et c'est bien mon problème :)
Ce n'était pas un besoin pour de l'affichage mais pour avoir un fichier
unique (le contenu de la variable adresses) utilisable par deux applis
JS qui n'accepte pas le même format en entrée.
J'ai pu avoir le format qui convenait (un array d'array) ainsi :
for (i in infos) {
adresses[i] = [ infos[i].adresse.rue, infos[i].adresse.num,
infos[i].adresse.cp, infos[i].adresse.ville ];
}
Merci beaucoup, j'étais parti dans des trucs super compliqués. Cette notion d'objet m'échappe vraiment. Une fois le tableau adresses récupéré, je peux afficher chaque élément en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation que pour les tableaux. Et adresses[2].cp fonctionne aussi.
Tout à fait. Si vous connaissez PHP, pensez les objets JS comme un tableau associatif PHP (en un peu plus poussé).
Oui, je connais PHP et c'est bien mon problème :) Ce n'était pas un besoin pour de l'affichage mais pour avoir un fichier unique (le contenu de la variable adresses) utilisable par deux applis JS qui n'accepte pas le même format en entrée.
J'ai pu avoir le format qui convenait (un array d'array) ainsi : for (i in infos) { adresses[i] = [ infos[i].adresse.rue, infos[i].adresse.num, infos[i].adresse.cp, infos[i].adresse.ville ]; }
Ce serait plus beau avec un Array.push()
Olivier Masson
Le 06/04/2012 13:44, Clément a écrit :
Le 05/04/2012 14:58, Olivier Masson a écrit :
Le 05/04/2012 11:28, Clément a écrit :
Merci beaucoup, j'étais parti dans des trucs super compliqués. Cette notion d'objet m'échappe vraiment. Une fois le tableau adresses récupéré, je peux afficher chaque élément en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation que pour les tableaux. Et adresses[2].cp fonctionne aussi.
Tout à fait. Si vous connaissez PHP, pensez les objets JS comme un tableau associatif PHP (en un peu plus poussé).
Oui, je connais PHP et c'est bien mon problème :) Ce n'était pas un besoin pour de l'affichage mais pour avoir un fichier unique (le contenu de la variable adresses) utilisable par deux applis JS qui n'accepte pas le même format en entrée.
J'ai pu avoir le format qui convenait (un array d'array) ainsi : for (i in infos) { adresses[i] = [ infos[i].adresse.rue, infos[i].adresse.num, infos[i].adresse.cp, infos[i].adresse.ville ]; }
Ce serait plus beau avec un Array.push()
for (i in infos) { adresses.push = [ infos[i].adresse.rue, infos[i].adresse.num, infos[i].adresse.cp, infos[i].adresse.ville ]; }
ou y'a mieux ?
Le 06/04/2012 13:44, Clément a écrit :
Le 05/04/2012 14:58, Olivier Masson a écrit :
Le 05/04/2012 11:28, Clément a écrit :
Merci beaucoup, j'étais parti dans des trucs super compliqués.
Cette notion d'objet m'échappe vraiment.
Une fois le tableau adresses récupéré, je peux afficher chaque élément
en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation
que pour les tableaux. Et adresses[2].cp fonctionne aussi.
Tout à fait. Si vous connaissez PHP, pensez les objets JS comme un
tableau associatif PHP (en un peu plus poussé).
Oui, je connais PHP et c'est bien mon problème :)
Ce n'était pas un besoin pour de l'affichage mais pour avoir un fichier
unique (le contenu de la variable adresses) utilisable par deux applis
JS qui n'accepte pas le même format en entrée.
J'ai pu avoir le format qui convenait (un array d'array) ainsi :
for (i in infos) {
adresses[i] = [ infos[i].adresse.rue, infos[i].adresse.num,
infos[i].adresse.cp, infos[i].adresse.ville ];
}
Ce serait plus beau avec un Array.push()
for (i in infos) {
adresses.push = [ infos[i].adresse.rue, infos[i].adresse.num,
infos[i].adresse.cp, infos[i].adresse.ville ];
}
Merci beaucoup, j'étais parti dans des trucs super compliqués. Cette notion d'objet m'échappe vraiment. Une fois le tableau adresses récupéré, je peux afficher chaque élément en faisant par exemple adresses[2]["cp"], c'est-à-dire la même notation que pour les tableaux. Et adresses[2].cp fonctionne aussi.
Tout à fait. Si vous connaissez PHP, pensez les objets JS comme un tableau associatif PHP (en un peu plus poussé).
Oui, je connais PHP et c'est bien mon problème :) Ce n'était pas un besoin pour de l'affichage mais pour avoir un fichier unique (le contenu de la variable adresses) utilisable par deux applis JS qui n'accepte pas le même format en entrée.
J'ai pu avoir le format qui convenait (un array d'array) ainsi : for (i in infos) { adresses[i] = [ infos[i].adresse.rue, infos[i].adresse.num, infos[i].adresse.cp, infos[i].adresse.ville ]; }
Ce serait plus beau avec un Array.push()
for (i in infos) { adresses.push = [ infos[i].adresse.rue, infos[i].adresse.num, infos[i].adresse.cp, infos[i].adresse.ville ]; }
ou y'a mieux ?
SAM
Le 06/04/12 16:38, Olivier Masson a écrit :
Le 06/04/2012 13:44, Clément a écrit :
Ce serait plus beau avec un Array.push()
Voui mézenfi array[n] ne mange guère d'avoine ;-)
for (i in infos) { adresses.push = [ infos[i].adresse.rue, infos[i].adresse.num, infos[i].adresse.cp, infos[i].adresse.ville ]; }
ou y'a mieux ?
"push" s'emploie comme une fonction <http://fr.selfhtml.org/javascript/objets/array.htm> <http://fr.selfhtml.org/javascript/objets/array.htm#push>
for (i in infos) { adresses.push([infos[i].adresse.rue, infos[i].adresse.num, infos[i].adresse.cp, infos[i].adresse.ville]); }
for (i in infos) { with(infos[i].adresse){ adresses.push( [rue, num, cp, ville] ); } }
for (i in infos) { var a = infos[i].adresse; adresses.push([a.rue, a.num, a.cp, a.ville]); }
-- Stéphane Moriaux avec/with iMac-intel
Le 06/04/12 16:38, Olivier Masson a écrit :
Le 06/04/2012 13:44, Clément a écrit :
Ce serait plus beau avec un Array.push()
Voui mézenfi array[n] ne mange guère d'avoine ;-)
for (i in infos) {
adresses.push = [ infos[i].adresse.rue, infos[i].adresse.num,
infos[i].adresse.cp, infos[i].adresse.ville ];
}
ou y'a mieux ?
"push" s'emploie comme une fonction
<http://fr.selfhtml.org/javascript/objets/array.htm>
<http://fr.selfhtml.org/javascript/objets/array.htm#push>
for (i in infos) {
adresses.push([infos[i].adresse.rue, infos[i].adresse.num,
infos[i].adresse.cp, infos[i].adresse.ville]);
}
for (i in infos) {
with(infos[i].adresse){ adresses.push( [rue, num, cp, ville] ); }
}
for (i in infos) {
var a = infos[i].adresse;
adresses.push([a.rue, a.num, a.cp, a.ville]);
}