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 :

Parse Json javascript


Sujet :

JavaScript

  1. #21
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    cela revient effectivement en partie � cela!

  2. #22
    Membre exp�riment�

    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    183
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 183
    Par d�faut
    Citation Envoy� par SpaceFrog Voir le message
    a priori ce que tu nous montres l� n'est pas un json mais un array ...

    ce qui tombe plutot bien car cela te permet d'utiliser le sort() avec une fonction callback qui fera le tri sur l'element souhait�

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    items= [...]
     
     
    function sortByTitle(a,b) {
               return (a.title > b.title)? 1:-1;
    }
     
    items.sort(sortByTitle)
    for (elt in items){ alert (items[elt].toSource())}
    http://jsfiddle.net/hdVUk/1/
    Un "for...in" sur un array, tu dois �tre tr�s fatigu� toi :o

  3. #23
    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
    ou est le souci ?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    items= [1,2,3,4,5]
    for (elt in items){
        alert(items[elt]);
              }
    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 !

  4. #24
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    Array.prototype.youpi = function(){ alert("youpi j'ai une lib qui m'ajoute des trucs dans le prototype d'Array"); };
     
    var a =[1,2,3];
    var b=[]; for(var prop in a){ b.push(prop); }
    return b.join(", "); //["0", "1", "2", "youpi"]


    R�flexe: ne jamais utiliser for..in sur les Array

  5. #25
    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
    hasOwnProperty ...
    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 !

  6. #26
    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
    forEach()
    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

  7. #27
    R�dacteur/Mod�rateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par d�faut
    ou
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    for(var i=0; i<arr.length; i++){ }
    Les vielles recettes font aussi des bons plats

  8. #28
    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
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    i=-1
    while( arr[++i]){
    }
    est plus rapide ...
    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 !

  9. #29
    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
    Dans ce cas, autant le faire de fa�on optimis�e :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    for(var i=0, l=arr.length; i<l; i++){ }
    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. #30
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par d�faut
    J'utilise la m�me forme que Bovino. Mais les perfs sont quasi identiques

  11. #31
    Membre Expert
    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    1 616
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 616
    Par d�faut
    Par curiosit� j'ai test� une ou deux formes r�cursives pour ces boucles sur l'outil jsperf : 50% plus lente

    Par contre, j'ai quand m�me un doute, le test se contente de faire une boucle de 1 � 1000 sans utiliser � proprement parler le tableau, juste en utilisant la valeur de la boucle.

    Bref je sais pas si �a montre grand chose....?

  12. #32
    Membre Expert
    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    1 616
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 616
    Par d�faut
    pour info, j'ai test� en ajoutant une simple op�ration de concat�nation sur le contenu du tableau:
    http://jsperf.com/fastest-array-loops-in-javascript/90
    avec chromium (linux) la r�cursivit� serait plus rapide que toutes les autres formes de boucles.

    Je pr�sume que chromium utilise V8

  13. #33
    Membre exp�riment�

    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    183
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 183
    Par d�faut
    Sauf qu'il peut arriver que tu te retrouves avec une erreur du genre "Max Stack Exceed",

    La pile de fonctions n'est pas infinie dans certains browsers

  14. #34
    Membre Expert
    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    1 616
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 616
    Par d�faut
    oui bien sur

    elle n'est jamais infinie � ma connaissance, mais j'ai cru comprendre en �coutant Douglas Crockford que lui au moins milite pour r�soudre cette barri�re dans le futur. Je suis tr�s au fait de cette limitation car vraisemblablement on pourrait quasi "tout" faire en r�cursif sans cette limitation.

    C'est juste une autre forme de syntaxe qui permet d'ex�cuter des boucles comme le ferait les syntaxes pr�sentes sur la page
    C'est surtout que je n'ai pas bien compris l'int�r�t de cette page de benchmarks, o� l'on instancie un tableau de 1000 lignes dont le seul et unique usage consiste � r�cup�rer sa longueur pour d�terminer le nombre d'it�rations.
    le tableau en lui-m�me n'est pas utilis� dans la boucle. On aurait pu faire un var j= 1000; pour avoir le m�me r�sultat
    Si le tableau existe et est rempli, autant l'utiliser dans la boucle, �a se rapproche un peu plus de la r�alit�.

    Et il se trouve que javascript excelle � la r�cursivit� en principe. Donc j'ai voulu voir comment se comparait la r�cursivit� compar�e aux autres syntaxes, tout en mettant en jeu le contenu du tableau.
    Et �tonnamment sous Chrome, les performances se comparent voir sont sup�rieures.

    Sous Firefox, il y a un truc avec les boucles, certaines ont des performances 400 fois sup�rieures aux autres, ce qui n'est pas le cas des autres navigateurs que j'ai test�

  15. #35
    Membre exp�riment�

    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    183
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 183
    Par d�faut
    Bon on a d�vi� du sujet initial je pense
    Enfin bref, toujours est-il que parcourir un Array avec un for...in n'a aucun sens. Un array est un tableau pas un objet qui sert de "map".

  16. #36
    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
    toujours est-il que parcourir un Array avec un for...in n'a aucun sens.
    Sauf si tu veux parcourrir les propri�t�s de l'array
    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 !

Discussions similaires

  1. parsing json erreur nullpointExcepetion
    Par diengkals dans le forum Android
    R�ponses: 7
    Dernier message: 14/04/2011, 12h24
  2. Parsing de Javascript pour g�n�ration de fichier
    Par Invit� dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 27/04/2009, 16h41
  3. xml parse avec javascript
    Par adel25 dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 13/04/2009, 20h45
  4. parse json dans un code javascript
    Par chahira83 dans le forum jQuery
    R�ponses: 5
    Dernier message: 11/12/2008, 16h39
  5. parse JSON et expression r�guli�re
    Par Bruno2000 dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 30/06/2006, 16h39

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