gpt4 book ai didi

javascript - 通过 id 或具有 O(1) 的唯一属性访问 JavaScript 数组中的对象

转载 作者:行者123 更新时间:2023-11-29 19:01:49 24 4
gpt4 key购买 nike

假设我们有一个这样的对象数组:

const myArray = [
{ id: 'a', label: 'A' },
{ id: 'b', label: 'B' },
...
];

有没有办法通过 id 以恒定的 O(1) 时间复杂度访问此数组中的任何对象?

最佳答案

您可以对没有原型(prototype)的对象使用哈希表。

这在不使用库的情况下工作。

var array = [{ id: 'a', label: 'A' }, { id: 'b', label: 'B' }],
hash = Object.create(null);

array.forEach(o => hash[o.id] = o);

console.log(hash['a']);

ES6 与 Map ,它适用于任何类型的已用 key ,无需将其转换为字符串。

var array = [{ id: 'a', label: 'A' }, { id: 'b', label: 'B' }],
map = new Map(array.map(o => [o.id, o]));

console.log(map.get('a'));

关于javascript - 通过 id 或具有 O(1) 的唯一属性访问 JavaScript 数组中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46393182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com