2017-07-17 59 views
0

我有一个像哈希表一样的对象。查找对象的值

var ob = { 
    "Earnings": { 
    "name": "Finance", 
    "id": "0" 
    }, 

    "Total": { 
    "token_id": 90, 
    "Token": { 
     "name": "E32" 
    } 
    } 
} 

现在的问题是,我有没有OB的关键。

我值:

{ 
    "token_id": 90, 
    "Token": { 
    "name": "E32" 
    } 
} 
} 

我需要找到OB是否存在有效的值。我曾尝试过这种循环方法。

for (var key in ob) { 
    if (ob.HasOwnProperty(key)) { 
    //check for the value 
    } 
} 

这种方法适用于小数据,但适用于大数据需要时间。 那么,有没有什么办法可以通过在O(1)时间内获取(搜索)来解决这个用例呢?

+0

预期结果是什么?目前的基准是什么? – guest271314

+0

我得到了预期的结果,但有没有办法没有循环? –

回答

1

所有我能想到的是要转换的JSON作为一组对象的值

JavaScript implementation of a set data structure

在查询集将是O(1)摊销时,将其转换为一组这将是O(n)

或者你可以交换的价值和关键,并把一些HashMap的一些人实现的JavaScript。