Boucle for() javascript

Fermé
UnPeuDaide - 6 déc. 2011 à 15:23
 UnPeuDaide - 6 déc. 2011 à 16:33
Bonjour,

j'ai tourné et retourné le problème dans tout les sens, sans trouver de solution. Alors si quelqu'un peut me sortir de cette impasse ça serait vraiment sympa.

Je réalise actuellement un script en javascript via les Google apps.
Dans une feuille de calcul je récupère toute une ligne (avec 20 colonne)

exemple : cellule A1 = Paris ; B1 = Marseille; C1 = lyon; etc etc sur 20 colonne.

Je récupère cette ligne que je range dans une variable MAIS je n'arrive pas à récupérer une SEULE cellule de cette ligne.
Je voudrais par exemple récupérer que "Paris" dans une variable pour ensuite appliquer des test. Je suis vraiment perdu alors tout aide serait la bien venu merci d'avance et voila à quoi ressemble mon code :


var Bureau = sheet.getRange(1,6,1, _lastcol).getValue();
for (i in Bureau){
if (Bureau[i] == "Paris"){

****************
}
}
A voir également:

2 réponses

fred1346 Messages postés 4 Date d'inscription mardi 6 décembre 2011 Statut Membre Dernière intervention 6 décembre 2011
Modifié par fred1346 le 6/12/2011 à 15:31
Le "for in" de javascript est trompeur,
il va énumérer les propriétés d'un objet.
Chose qui n'est pas ton cas semble t-il, puisque tu travailles sur un tableau

Tu devrais plutôt utiliser la boucle "for" classique de cette manière :

for (var i =0; i<Bureau.length; i++)
...
0
Merci encore pour ta réponse qui m'a permis cerner un peu plus ce for(). Je viens d'essayer une ptite manip qui est la suivante :

for (var i = 0; i < Bureau.length; i++){

Browser.msgBox("FLAG");
Browser.msgBox(Bureau[0]);
Browser.msgBox(Bureau[1]);
Browser.msgBox(Bureau[2]);
Browser.msgBox(Bureau[3]);
Browser.msgBox(Bureau[4]);
Browser.msgBox(Bureau[5]);
Browser.msgBox(Bureau[6]);
Browser.msgBox(Bureau[7]);
Browser.msgBox(Bureau[8]);
}

Et il s'avère que :

Bureau[0] retourne => " "
Bureau[1] retourne => "[ "
Bureau[2] retourne => "P"
Bureau[3] retourne => "a"

je te laisse imaginer la suite. sachant que la première cellule de la ligne que je récupère est

A1 : [Paris].

j'en est déduit que mon le Bureau.length ne prenais en compte que la taille que d'une cellule ( la première de ma chaîne en l'occurrence). c'est à peut prêt ça ?
0
okay je te remercie j'essai ça et je te tiens au courant .
0