Implementações eficientes de hashmap em JavaScript
Embora objetos JavaScript possam ser usados como dicionários, eles não fornecem funcionalidade de hash verdadeira. Como resultado, objetos com representações de string diferentes, mas com valores equivalentes, podem sobrescrever uns aos outros.
Usando funções de teclas personalizadas
Para criar um hashmap eficiente, você pode definir manualmente um função principal com base nas características únicas de seus objetos. As strings resultantes podem então ser usadas como chaves em um dicionário JavaScript normal.
var key = function(obj){ // Some unique object-dependent key return obj.totallyUniqueEmployeeIdKey; // Just an example }; var dict = {}; dict[key(obj1)] = obj1; dict[key(obj2)] = obj2;
Vantagens desta abordagem:
Evitando colisões
Para evitar colisões entre chaves geradas por objetos diferentes, considere cuidadosamente o propriedades exclusivas de seus objetos e use-as em sua função principal. Se necessário, use caracteres Unicode não latinos ou delimitadores para evitar conflitos com propriedades padrão.
ES6 Maps and Sets
ECMAScript 6 introduziu Maps and Sets, que oferecem -em recursos de hash e chaves de suporte de qualquer valor, incluindo objetos.
Vantagens dos mapas:
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3