我想为objects
生成唯一标识符,以便将其存储在Map
中。
我当前用于生成标识符的对象字段是:time
x
和y
,它们都是正整数。
我无法将对象直接存储为key
的{{1}},因为对象也是通过网络发送的,因此它们的引用也会更改。
当前,为了生成标识符,我创建了一个像这样的字符串:
Map
目前它已经足够好了,但是我担心会产生大量垃圾(每当我需要获取对象的标识符时,就会使用一个串联的字符串)。
数字可能非常大,const uid = `${time}_${x}_${y}`;
,但是我考虑过使用数字作为ID,例如:0 <= t,x,y <= 200000
,因此time * 10^18 + x ^ 10^y + y
的每个值都有6位数字(以10为基数的数字):uid
,但此数字大于ttttttxxxxxxyyyyyy
。另外,我不知道执行所有这些乘法是否比生成字符串更昂贵,但是主要的问题还是垃圾。
如何根据三个不同的值唯一地生成一个标识符?