Эквивалент JavaScript Hashmap
как было ясно в обновлении 3 на этот ответ, это обозначение:
var hash = {};
hash[X]
фактически не хэширует объект X; он на самом деле просто преобразует X в строку (через .toString() если это объект или некоторые другие встроенные преобразования для различных примитивных типов), а затем ищет эту строку, не хэшируя ее, в "hash". Равенство объектов также не проверяется - если два разных объекта имеют одинаковое преобразование строк, они просто перезапишут каждый другой.
учитывая это-существуют ли какие-либо эффективные реализации хэш-карт в javascript? (Например, 2-й результат Google javascript hashmap дает реализацию, которая является O (n) для любой операции. Различные другие результаты игнорируют тот факт, что различные объекты с эквивалентными строковыми представлениями перезаписывают друг друга.
Comments