Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.lang.javascript > #2930
| From | Paul Gaborit <Paul.Gaborit@invalid.invalid> |
|---|---|
| Newsgroups | fr.comp.lang.javascript |
| Subject | Re: Clés de tables de hachage |
| Date | 2015-07-07 11:36 +0200 |
| Organization | EMAC (Ecole des Mines d'Albi-Carmaux) |
| Message-ID | <wt9io9wcnsd.fsf@mirabeau.mines-albi.fr> (permalink) |
| References | <20150707091234.34f58523@free.fr> |
À (at) Tue, 7 Jul 2015 09:12:34 +0200,
Yliur <yliur@free.fr> écrivait (wrote):
> J'ai tâché d'utiliser des tables de hachage en javascript. Enfin le
> machin qui en tient lieu, avec des associations clé/valeur.
>
> Quelque chose comme ça :
> var table = {} ;
> table['truc'] = 'coucou' ;
Ici, la clé est une chaîne de caractères : 'truc'.
> J'arrive à m'en servir sous cette forme, ça fonctionne. Par contre j'ai
> voulu utiliser ce système pour mémoriser les éléments html déjà traités
> lors d'un parcours d'arbre du DOM et là ça s'est moins bien passé : La
> première fois table[elt] renvoie bien faux (elle est vide), mais toutes
> les fois suivantes l'expression renvoie vrai, quel que soit l'élément
> html qui lui est présenté.
La question à se poser est la nature de elt.
Si c'est une variable qui contient une chaîne, cette valeur sera utilisé
comme clé et ça fonctionnera comme au-dessus.
Si c'est une variable qui contient un objet, c'est l'objet converti en
chaîne qui sera utilisé comme clé. Or tous les objets une fois convertis
en chaîne donnent la chaîne "[object Object]".
Une solution consiste à utiliser 'JSON.stringify(elt)' comme clé plutôt
que 'elt'. Une autre solution consiste à utiliser une Map.
> Est-ce que ce système ne fonctionne qu'avec certains types de données
> pour les clés ? Ou je me suis juste planté quelque part ?
Les clés sont *toujours* des chaînes.
Quelques liens (en anglais):
<http://stackoverflow.com/questions/12386450/using-an-object-as-a-property-key-in-javascript>
<http://stackoverflow.com/questions/28989091/using-javascript-object-as-object-key>
--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Back to fr.comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar
Clés de tables de hachage Yliur <yliur@free.fr> - 2015-07-07 09:12 +0200
Re: Clés de tables de hachage Paul Gaborit <Paul.Gaborit@invalid.invalid> - 2015-07-07 11:36 +0200
Re: Clés de tables de hachage Yliur <yliur@free.fr> - 2015-07-08 01:05 +0200
csiph-web