Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.lang.javascript > #2932
| From | Yliur <yliur@free.fr> |
|---|---|
| Newsgroups | fr.comp.lang.javascript |
| Subject | Re: Clés de tables de hachage |
| Date | 2015-07-08 01:05 +0200 |
| Organization | Groupes francophones par TrigoFACILE |
| Message-ID | <20150708010535.572c961f@free.fr> (permalink) |
| References | <20150707091234.34f58523@free.fr> <wt9io9wcnsd.fsf@mirabeau.mines-albi.fr> |
Le Tue, 07 Jul 2015 11:36:18 +0200
Paul Gaborit <Paul.Gaborit@invalid.invalid> a écrit :
>
> À (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>
Map a l'air intéressant mais c'est supporté dans une version très
récente du standard ecmascript, donc un peu délicat à utiliser. Je vais
sans doute faire autrement.
Merci pour les infos en tout cas :) .
Back to fr.comp.lang.javascript | Previous | Next — Previous in thread | Find similar | Unroll thread
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