Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按键搜索时的对象复杂性_Javascript_Time Complexity - Fatal编程技术网

Javascript 按键搜索时的对象复杂性

Javascript 按键搜索时的对象复杂性,javascript,time-complexity,Javascript,Time Complexity,我的目标如下: let obj = { "name": "someName", "age": 33, "city": "someCity" } 我知道对象没有索引 “JS对象没有定义的顺序,它们(根据定义)是 未排序的键值对集。“ 那么,以下各项的复杂性是什么: let result = obj.name 是不是为了找到正确的钥匙而在整个物体上搜索? 有没有一种方法可以索引此对象,

我的目标如下:

let obj = {
  "name": "someName",
  "age": 33,
  "city": "someCity"
}
我知道对象没有索引

“JS对象没有定义的顺序,它们(根据定义)是 未排序的键值对集。“

那么,以下各项的复杂性是什么:

let result = obj.name
是不是为了找到正确的钥匙而在整个物体上搜索?
有没有一种方法可以索引此对象,使其复杂性达到O(1)?

涉及检索或修改存储在对象中的数据的数据访问是在固定时间内完成的
O(1)
。对于数据的插入和删除也是如此。

我99%确信,除非JS有一些奇怪的怪癖,否则复杂性是O(1),并且它不会搜索,因为它使用哈希表。我可以建议你为此提供一份引文吗?也许可以解释这是因为JS中的对象由哈希表支持?