On va alors dire que ça dépend des préférences de chacun, donc j'vais ni dire que j'ai raison, ni dire que j'ai tort
Mais je soulèverai quand même le fait que le "forEachCallback" (ou le "for (var i...)") en met plein les dents au Array.forEach(func) :p
(Ca me parait juste pas pratique d'utiliser un système type "si je veux enlever les livres d'une bibliothèque, je demande à un opérateur de le faire", je préfère passer pour un fou et dire à ma bibliothèque "vide-toi!" plutôt que de devoir manipuler deux objets: l'opérateur qui doit faire le vide et la bibliothèque à vider)
Après re-test, je pondérerai un peu plus mon propos en spécifiant que Firebug ralenti énormément le foreach, mais il ne ralentit par le for (var i), d'où l'énorme écart (x600) que l'on avait précédemment.
Firebug coupé, l'écart se réduit à du x8 (6ms pour for var i contre 48ms pour foreach, avec un tableau de 5.000.000 d'éléments.
J'ajouterai que les deux sont au même niveau quand le tableau contient des objets, et que Array.forEach travaille par valeurs dans le cas des types de base.
Mais je soulèverai quand même le fait que le "forEachCallback" (ou le "for (var i...)") en met plein les dents au Array.forEach(func) :p
(Ca me parait juste pas pratique d'utiliser un système type "si je veux enlever les livres d'une bibliothèque, je demande à un opérateur de le faire", je préfère passer pour un fou et dire à ma bibliothèque "vide-toi!" plutôt que de devoir manipuler deux objets: l'opérateur qui doit faire le vide et la bibliothèque à vider)
Après re-test, je pondérerai un peu plus mon propos en spécifiant que Firebug ralenti énormément le foreach, mais il ne ralentit par le for (var i), d'où l'énorme écart (x600) que l'on avait précédemment.
Firebug coupé, l'écart se réduit à du x8 (6ms pour for var i contre 48ms pour foreach, avec un tableau de 5.000.000 d'éléments.
J'ajouterai que les deux sont au même niveau quand le tableau contient des objets, et que Array.forEach travaille par valeurs dans le cas des types de base.