Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.javascript > #2932

Re: Clés de tables de hachage

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>

Show all headers | View raw


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 | NextPrevious in thread | Find similar | Unroll thread


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