Bonjour,
J'aurai besoin de vos compétences pour m'expliquer un petit truc qui me chiffonne en JS.
J'ai un tableau t dont les clés sont des chaîne de caractères représentant des entiers. Exemple :
var t = [];
t["4"] = "toto";
Si j'affiche t dans la console de firebug, j'obtiens :
[undefined, undefined, undefined, undefined, "4"]
Et la taille de mon tableau est 5 alors qu'il s'agit d'un tableau associatif (idem avec IE ou FF).
Les clés sont des chaînes de caractères, je ne comprends pas pourquoi cela fait comme si c'était des entiers.
En fait, dans mon cas, j'utilise un tableau associatif pour stocker des id (codés sur 8 caractères) et je me demande donc si le tableau réserve autant de cases que la valeur de mon plus grand id.
A votre avis, est-ce que cela diminue les performances de mon code JS, est-ce qu'il est plus gourmand ?
Merci d'avance.
Frodum
J'aurai besoin de vos compétences pour m'expliquer un petit truc qui me chiffonne en JS.
J'ai un tableau t dont les clés sont des chaîne de caractères représentant des entiers. Exemple :
var t = [];
t["4"] = "toto";
Si j'affiche t dans la console de firebug, j'obtiens :
[undefined, undefined, undefined, undefined, "4"]
Et la taille de mon tableau est 5 alors qu'il s'agit d'un tableau associatif (idem avec IE ou FF).
Les clés sont des chaînes de caractères, je ne comprends pas pourquoi cela fait comme si c'était des entiers.
En fait, dans mon cas, j'utilise un tableau associatif pour stocker des id (codés sur 8 caractères) et je me demande donc si le tableau réserve autant de cases que la valeur de mon plus grand id.
A votre avis, est-ce que cela diminue les performances de mon code JS, est-ce qu'il est plus gourmand ?
Merci d'avance.
Frodum