对 JavaScript 对象进行哈希处理

mas*_*onk 6 javascript hash

我有一个函数,它接收 JS 对象列表作为参数。我需要将有关这些对象的信息存储在私有变量中以供将来参考。我不想将属性填充到对象本身中,我只想将其保留在字典中。我需要能够在亚线性时间内查找对象的元数据。

为此,我需要一个hash函数,对于任意两个对象o1o2

hash(o1) !== hash(o2)每当o1 !== o2

这种哈希函数的一个完美例子就是对象的内存地址,但我不认为 JS 公开了这一点。有办法吗?

bra*_*ley 1

JavaScript 不提供对内存(或文件系统)的直接访问。

您可能只想在分析(哈希)函数中创建属性/变量,然后将它们返回到调用函数的位置以存储/保留以供以后参考。