I have a function that receives a list of JS objects as an argument. I need to store information about those objects in a private variable for future reference. I do not want to stuff a property into the objects themselves, I just want to keep it out of band in a dictionary. I need to be able to lookup metadata for an object in sub-linear time.
For this I need a hash
function such that, for any two objects o1
and o2
,
hash(o1) !== hash(o2)
whenever o1 !== o2
.
A perfect example of such a hash function would be the memory address of the object, but I don't think JS exposes that. Is there a way?