【发布时间】:2022-06-11 07:01:31
【问题描述】:
我正在尝试找到一种有效的方法来存储键:值对,以便您可以快速找到另一个值(虽然两者都是唯一的)。
例如:假设我们想要存储对“unique_id: email”...并且我希望能够从两个值中的任何一个中获取另一个值。什么是更少资源消耗(RAM 和 calc)的方法?
节省内存解决方案:
const data = {"1": "user1@email.com",
"2": "user2@email.com",
"3": "user3@email.com"}
var email1 = data['1']; //fast research
var user1 = data.find("user1@email.com") //slow research algorithm (find is some function that search through the item... probably in a more inefficient way than the above index-research.
高效的研究解决方案?
const emails = {"1": "user1@email.com",
"2": "user2@email.com",
"3": "user3@email.com"}
const ids = { "user1@email.com": "1",
"user2@email.com": "2",
"user3@email.com": "3" }
var email1 = emails['1'];
var id1 = ids[ "user1@email.com"];
现在...在第二种情况下,我们正在消耗更多的内存,在第一种情况下,我们的研究效率较低(或者是否有某种算法与索引研究一样快?)。 对于我的应用程序,我实际上有超过 2 个唯一值(例如 - 并且只是一个示例 ID、gmail、microsoftid、passport_no)。当然,对于第二种解决方案,我使用的内存要多得多,而对于我的应用程序来说,内存使用至关重要。
那么,这样做的正确方法是什么?是否有某种 js 类可以做到这一点?
【问题讨论】:
标签: javascript object search memory-efficient