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ées par différents objets, examinez 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 des cartes et des ensembles, qui offrent des fonctionnalités intégrées. -in capacités de hachage et prise en charge des clés de n'importe quelle valeur, y compris les objets.
Avantages de Maps :
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3