2014-12-08 111 views
-1

我有一個Javascript對象,我必須遍歷的鍵。我需要檢查密鑰是否與我的本地變量匹配,如果匹配,我需要該密鑰的相應值。如何迭代JavaScript中的對象/散列?

我使用會話屬性獲取對象。 當我在alert中看到它時,該對象看起來像這樣。 {1 = Apple,2 = Orange}。

+0

A *真實*地圖或像個地圖的對象? – icktoofay 2014-12-08 05:44:42

+2

對所有鍵使用map.get(key),map.has(key)或map.forEach() – dandavis 2014-12-08 05:46:58

+0

JavaScript中沒有* map *對象。你覺得它是什麼?你的「地圖」是什麼樣的? – RobG 2014-12-08 06:15:45

回答

-1

最簡單的方法是在

yourMap = {'one': 1, 'two':2, ......} 
keyToLocate = 'one' 


for (var key in yourMap) { 
    if (key == keyToLocate){ 
     console.log(key, yourMap[key]); 
    } 
} 

用於...或者你可以使用hasOwnProperty

for (var key in yourMap) { 
    if (yourMap.hasOwnProperty(key)) { 
     console.log(key, yourMap[key]); 
    } 
} 
+0

這不是一個地圖,更重要的是,它很愚蠢,你可以問一下if(yourMap [keyToLocate]!= null);不需要循環。 – dandavis 2014-12-08 05:59:00

+0

如果我在'地圖'中存儲'hasOwnProperty'的密鑰怎麼辦? – icktoofay 2014-12-08 06:02:10

+0

確實會造成問題。我心中有一個簡單的舊循環查找技術。 – 2014-12-08 06:05:09