Implémentations efficaces de hashmap en JavaScript
Bien que les objets JavaScript puissent être utilisés comme dictionnaires, ils ne fournissent pas de véritable fonctionnalité de hachage. Par conséquent, les objets avec des représentations de chaîne différentes mais des valeurs équivalentes peuvent s'écraser les uns les autres.
Utilisation de fonctions de touches personnalisées
Pour créer une table de hachage efficace, vous pouvez définir manuellement une fonction clé basée sur les caractéristiques uniques de vos objets. Les chaînes résultantes peuvent ensuite être utilisées comme clés dans un dictionnaire JavaScript classique.
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;
Avantages de cette approche :
Éviter les collisions
Pour éviter les collisions entre les touches générés par différents objets, considérez attentivement les propriétés uniques de vos objets et utilisez-les dans votre fonction clé. Si nécessaire, utilisez des caractères ou des délimiteurs Unicode non latins pour éviter les conflits avec les propriétés par défaut.
Cartes et ensembles ES6
ECMAScript 6 a introduit les cartes et les ensembles, qui proposent des -dans les capacités de hachage et prend en charge les clés de n'importe quelle valeur, y compris les objets.
Avantages de Maps :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!