Implementaciones eficientes de hashmap en JavaScript
Si bien los objetos JavaScript se pueden utilizar como diccionarios, no proporcionan una verdadera funcionalidad de hash. Como resultado, los objetos con diferentes representaciones de cadenas pero valores equivalentes pueden sobrescribirse entre sí.
Uso de funciones clave personalizadas
Para crear un mapa hash eficiente, puede definir manualmente un Función clave basada en las características únicas de sus objetos. Las cadenas resultantes se pueden usar como claves en un diccionario 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;
Ventajas de este enfoque:
Evitar colisiones
Para evitar colisiones entre teclas generadas por diferentes objetos, considere cuidadosamente el propiedades únicas de sus objetos y utilícelas en su función clave. Si es necesario, utilice delimitadores o caracteres Unicode no latinos para evitar conflictos con las propiedades predeterminadas.
ES6 Maps and Sets
ECMAScript 6 introdujo Maps and Sets, que ofrecen mapas -en capacidades de hash y claves de soporte de cualquier valor, incluidos objetos.
Ventajas de Maps:
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3