【发布时间】:2021-08-10 12:01:20
【问题描述】:
- 请注意,我不想在 for 循环中执行此操作...我知道该解决方案已经有 10 种不同的方式,尤其是使用 Object.keys(myObject),然后快速执行
regex或.search。
由于我正在处理对象中超过 15k 的属性,因此数组系统并不是我想要的。任何其他解决方案。
是否有可能找到具有 O(1) 时间复杂度的相似键。例如:
const a = {
warp1: 43,
warp2: 87,
warp.34: 19,
warp_63: 82,
warp_fundamental: 91,
shop_41:9,
warp.12:911,...
}
假设我想提取所有以 warp* 开头的键并将其提取到一个数组中。
我正在寻找的解决方案是['warp1','warp2', 'warp.34', 'warp_63','warp_fundamental', 'warp.12' ]
用javascript可以吗?
【问题讨论】:
-
我可能是错的,但事实上,我很难相信在 O(1) 时间复杂度下可以做到这一点。
-
解决方案作为数组很好。但是假设我做了 Object.keys(myObject)。现在我有一个长度为 15k 的数组。如果我使用这个长度的数组只是为了进行搜索是非常耗时的过程。
-
@JoseNuno 这就是我自己的恐惧。所以,我想在堆栈溢出中发布这个。使用 15-25k 数据作为 hashmap 确实非常快。但现在我被要求也显示类似的键,就像我提到的那样。
标签: javascript hashmap