IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

boucle for sur array


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    40
    D�tails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 40
    Par d�faut boucle for sur array
    Bonjour � tous,

    je rencontre un probl�me tr�s bizarre...

    le code posant probl�me est le suivant
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var patt = /[^=&]+=[^&]+/gi;
    var match = url[1].match(patt);
    var arr = Array();
    out = Array();
    for ( i in match ) {
    	if ( match[i] != null ) {
    		arr = match[i].split("=",2);
    		out.push(arr[0]+'='+encodeURIComponent(arr[1]));
    	}
    }
    en entr�e nous avons
    url[1] de type string
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    act=connexion&login=rebel&password=1234
    on d�coupe ce string avec la m�thode match
    et on obtient un tableau match de la forme
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    0: "act=connexion"
    1: "login=rebel"
    2: "password=1234"
    alors se lance la boucle for
    les valeurs de i passent de 0 � 2 sans probl�me..

    une fois la ex�cut�e pour la valeur 2, normalement la boucle devrait s'arr�ter, cependant, i prend une nouvelle valeur qui est "each"...

    est-ce normal ?
    Si oui, pourquoi ?
    Si non, sauriez vous d'ou cela pourrait venir ?

    Merci d'avance pour votre aide

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    il est fortement deconseill� d'utilser comme noms de variables des mots r�serv�s du langages javascript ...

    var match ...
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  3. #3
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Regarde du cot� de hasOwnProperty().
    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 JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  4. #4
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    40
    D�tails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 40
    Par d�faut
    Citation Envoy� par SpaceFrog Voir le message
    il est fortement deconseill� d'utilser comme noms de variables des mots r�serv�s du langages javascript ...

    var match ...
    test� avec autre variable, ca ne change rien


    Citation Envoy� par Bovino Voir le message
    Regarde du cot� de hasOwnProperty().
    je n'ai plus le probl�me mais apr�s avoir pass� les variables 0 � 2 dans i j'obtiens
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    each
    eachSlice
    all
    any
    collect
    detect
    findall
    grep
    ...
    cela ressemble � toutes les varriables qui sont dans __proto__ dans le "developper tool" de google chrome ...

    je n'ais jamais rencontr� ce probl�me avant ...

  5. #5
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activit� : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par d�faut
    Salut,

    Faut aussi prendre en consid�ration l'�ventuelle pr�sence d'une ancre dans l'URL.

    Exemple simplifi� (sans expression rationnelle)

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    var i,str,url,parm,nfo=[];
     
    str='http://exemple.com/directory/file.php?act=connexion&login=rebel&password=1234#anchor';
     
    url=str.split('?');
    if(url.length>1){
    	// url[0] = http://exemple.com/directory/file.php
    	// url[1] = act=connexion&login=rebel&password=1234#anchor
     
    	parm=url[1].split('#');
    	// parm[0] = act=connexion&login=rebel&password=1234
    	// parm[1] = anchor
     
    	nfo=parm[0].split('&');
    	// nfo[0] = act=connexion
    	// nfo[1] = login=rebel
    	// nfo[2] = password=1234
     
    	// Vérification du résultat
    	str='';
    	for(i in nfo)str+=nfo[i]+'\n';
    	alert(str);
    }

  6. #6
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  7. #7
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    40
    D�tails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 40
    Par d�faut
    merci pour le lien

    la question maintenant est : mais pourquoi la fonction for me retourne les "__proto__" de cet �l�ment alors qu'il ne le fait pas avec d'autres m�thodes ?

  8. #8
    Membre averti
    Inscrit en
    Mai 2005
    Messages
    40
    D�tails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 40
    Par d�faut
    Citation Envoy� par Eric2a Voir le message
    Faut aussi prendre en consid�ration l'�ventuelle pr�sence d'une ancre dans l'URL.
    Il n'y en aura pas, c'est pour de l'ajax

  9. #9
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    En tout cas, pour un tableau, il est pr�f�rable de faire une boucle for classique en r�cup�rant le length du tableau qu'une boucle for in.
    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 JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  10. #10
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POO�te
    Inscrit en
    Avril 2008
    Messages
    2 652
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activit� : POO�te

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par d�faut
    Si le contexte d'ex�cution emp�che d'utiliser for...in (quelles que soient les raisons), envisage peut-�tre (si ce n'est d�j� fait) de boucler avec un for "classique" et les indices num�riques... non ?

    edit : qui a dit "t'es � la bourre de 4 minutes" ?

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. syntaxe boucle for (was : array.filter : diff�rence ie / fx)
    Par Peanut dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 26/02/2009, 09h28
  2. Boucle FOR sur certaines colonnes
    Par coralie59 dans le forum MATLAB
    R�ponses: 1
    Dernier message: 25/02/2009, 11h54
  3. [BASH] boucle for sur des fichiers, recuperation du chemin ?
    Par zevince dans le forum Shell et commandes GNU
    R�ponses: 13
    Dernier message: 13/11/2007, 10h47
  4. Boucle for sur fichiers sauf un !
    Par coincoin22 dans le forum Linux
    R�ponses: 4
    Dernier message: 13/08/2007, 14h41
  5. [Eval] Probl�me de boucle for sur des tableaux
    Par battle_benny dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 12/01/2006, 23h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo