2017-07-17 83 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。