2012-09-27 19 views
4

可能重複:
How do I enumerate the properties of a javascript object?迭代直通哈希表,同時檢查每個鍵,值對的Javascript

我「米試圖重複直通一個哈希表,但我需要檢查值每。當我跑過它

我將如何使用一個foreach表來做到這一點?在sudo代碼我想這樣做:

var tHash = { 
name: n, 
date: d, 
labels: l, 
} 

foreach(value in tHash){ 
    if(tHash.name== somevalue){do something}; 
    if(tHash.label == somevalue) {do something}; 

這基本上是我想要做的,但不確定如何開始。

編輯:這不僅僅是一個哈希它是一個哈希數組...我應該提到,在開始時,我放置代碼的方式是我用一個for循環加載哈希數組的方式。

+0

如果你知道你想要每個屬性是什麼,你不應該需要一個循環。只需檢查每個屬性的值。 –

+0

以及我基本上有一個名單日期標籤對的巨大名單。我將它們放到Google電子表格中,所以我需要先檢查名稱(因此我不重複),然後再標籤第二個(因爲有4種不同的標籤類型,我只想添加到標籤的總和中那就是當前的鍵/值對)。 – Psyllex

+0

您可以在for ... in循環中檢查屬性「name」。 – pce

回答

-2

這樣工作。

var tHash = { 
name: "Jeremy", 
date: "0", 
labels: 4 
} 

if (tHash.name === "Jeremy") {alert("Welcome, Master")}; 
if (tHash.labels !== 0) {alert("There is a label waiting")}; 
+0

不回答如何迭代 – MickaelFM

18

您可以使用for ... in循環遍歷Hashobject的Keys。 您獲得哈希的每個屬性(鍵),並且還可以訪問該屬性的值。

var tHash = { 
    name: "n", 
    date: "d", 
    labels: "l" 
} 

for (var key in tHash){ 
    console.log(key + " -> " + tHash[key])); 
    // if (key == "name") doSomething(); 
}