如何无需遍历快速获取JavaScript对象中的指定键?
无需遍历快速获取对象键的方法
当然有!JavaScript 对象的本质是哈希表结构,直接通过键名访问就是最快的方式,完全不需要遍历所有条目。
你当前的遍历做法是低效的(时间复杂度O(n)),可以直接替换成以下两种更高效的写法(时间复杂度O(1)):
方法1:直接访问键值 + in 运算符判断存在性
if (input in d) { const targetValue = d[input]; // 这里执行你的逻辑 }
in 运算符会检查键是否存在于对象(包括其原型链)中。
方法2:用 Object.hasOwn 做更安全的存在性检查(推荐)
如果你只想检查对象自身的键(排除原型链上继承的键),可以用ES2022新增的Object.hasOwn:
if (Object.hasOwn(d, input)) { const targetValue = d[input]; // 这里执行你的逻辑 }
这两种方式都能直接定位到目标键,省去了遍历所有条目的开销,性能远优于你当前的遍历写法。
内容的提问来源于stack exchange,提问作者floober
相关产品推荐
相关产品推荐

