Les Objets JavaScript Hachages? C'est la complexité plus grande que O(1)?

Pour certains algorithme que j'écrivais récemment, j'ai pensé qu'un hash serait excellent. J'ai pensé que je pourrais probablement juste utiliser les variables dans un objet sous forme de paires clé-valeur. Je ne sais pas si c'est optimal puisque je ne sais pas vraiment ce qui se passe derrière les coulisses. Je suppose que la V8 est-il différent de celui des autres environnements. Je n'ai toutefois imaginer que la recherche de variables de membre serait assez rapide (je l'espère)?

Que tout est dit, je me demande si le temps d'exécution de la complexité de l'écriture, la lecture, la création et la suppression des variables de membre dans les objets JavaScript sont tous O(1). Si il y a des différences dans l'environnement (v8 vs d'autres) que sont-ils?

  • Si vous voulez la recherche de votre objet par un certain domaine, pourquoi s'en faire à propos de l'ajout et de la suppression? L'ID n'est pas censé changer après l'instanciation de l'objet.
  • Je suppose que l'ajout et la suppression n'est pas aussi grande affaire. Je ne vois pas de cas d'utilisation pour plus de quelques millions de paires, et même qui est le plus susceptible de ridicule pour ce cas d'utilisation en particulier. Puis de nouveau, les gens peuvent vouloir utiliser cette fonction pour d'autres choses. Je voudrais donner quelques indications.
  • "utiliser les variables dans un objet en tant que paires clé-valeur" - C'est à peu près ce que les membres de "variables" sont, n'est-ce pas?
  • eh bien, je n'ai pas forcément vu de garanties apportées sur les performances. Ils sont des paires clé-valeur, mais vous pouvez dire que sur n'importe quelle variable dans n'importe quelle langue.
  • "Ils sont des paires clé-valeur, mais vous pouvez dire que sur n'importe quelle variable dans n'importe quelle langue" - Non, vous ne pouvez pas: dans la plupart des langues chaînes de caractères, les nombres et les booléens sont des valeurs sans les touches associées. Mon point était qu'un JS objet de la mission est de maintenir une collection de paires clé/valeur (où la valeur peut être une référence à une fonction ou d'un autre objet). Je constate que ce n'est pas vous aider avec votre question à propos de la performance.
InformationsquelleAutor Parris | 2012-09-03