我有一个包含在内存中的 100,000 个项目的列表(所有这些大整数都存储为字符串)。
这些进来的数据结构并不重要。现在他们生活在这样的数组中:
const list = ['1','2','3'...'100000'];
注意:以上只是一个例子 - 实际上,每个条目都是一个 18 位的字符串。
我需要检查一个对象的存在。目前我正在做:
const needToCheck = '3'; const doesInclude = list.includes(needToCheck);
但是,有很多方法可以进行这种存在性检查。我需要它尽可能提高性能。
我可以遵循的其他一些途径是:
创建一个Map
值为 undefined
创建一个对象 ( {}
) 并创建对象的键作为 中的条目list
,然后使用hasOwnProperty
.
用一个 Set()
由于这些都是数字,因此请使用其他类型的数据结构(树?)。但是,由于这些长度都是 18 位数字,因此性能可能会降低。
我可以接受更高的前期成本来构建数据结构以在以后获得更大的速度提升,因为这是针对每天将被点击 > 1MM 次的 URL 路由。
守候你守候我
狐的传说
相关分类