2015-05-14 16 views
1

我有一個名爲values的值的數組。我有一個each聲明,我正在遍歷數組。在each聲明中,我使用for循環遍歷一個對象數組。當我遍歷要檢查的對象時,看看它們是否有一個true布爾變量,它共享我的values數組中的項目的名稱。我可以在一個對象中使用字符串值數組創建動態變量名嗎?

- var values = ["u10","u11","u14","u17","u18"]; 
    each val in values.length ? values : ['There are no values'] 
    -for obj in objects 
     if obj.val == true 
     [do something here] 

我的if語句當前不工作。有沒有人知道如何在Jade中寫這個if語句?每個對象都有一個布爾變量,它與列表中的值相關聯。一種對象模型看起來像這樣:

{"object":{ 
    "u10":true, 
    "u11":false, 
    "u14":true, 
    "u17":false, 
    "u18":true 
    } 
} 

如果我寫的if語句硬編碼的變量名稱,如

if obj.u10 == true 

它工作正常。

+0

謝謝這個workd。 – tilted

回答

0

obj.val將在字面上尋找對象obj上名爲"val"的屬性,就好像obj = {val: true}是對象。

你需要的是obj[val]將插值變量val的實際並用它來查找該屬性名

+0

謝謝你這個工作。 – tilted

相關問題