我有一个名为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 :(得分:0)
obj.val
将在对象"val"
上查找名为obj
的属性,就像obj = {val: true}
是对象一样。
您需要的是 obj[val]
,它会插入变量val
的实际值并使用它来查找该属性名称< / p>