cela revient effectivement en partie � cela!
cela revient effectivement en partie � cela!
Les joies du CSS | R�ponses sur forum | Simple comme JS | Essais libres autour de l'API G$$gle Maps
✂ ---------------------------------------------
developpez.net c'est aussi :
✔ Les meilleurs cours et tutoriels pour apprendre le CSS
✔ Les meilleurs cours et tutoriels pour apprendre le (X)HTML
✔ Les meilleurs cours et tutoriels pour apprendre le JavaScript
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 !
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
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 !
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 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
ouLes vielles recettes font aussi des bons plats
Code : S�lectionner tout - Visualiser dans une fen�tre � part for(var i=0; i<arr.length; i++){ }
est plus rapide ...
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 i=-1 while( arr[++i]){ }
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 !
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 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
J'utilise la m�me forme que Bovino. Mais les perfs sont quasi identiques
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....?
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
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
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�
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".
Sauf si tu veux parcourrir les propri�t�s de l'arraytoujours est-il que parcourir un Array avec un for...in n'a aucun sens.![]()
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 !
Partager