我可以使用对象的字符串值数组在jade中创建动态变量名吗?

时间:2015-05-14 17:43:35

标签: javascript pug

我有一个名为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

它运作正常。

1 个答案:

答案 0 :(得分:0)

obj.val将在对象"val"上查找名为obj的属性,就像obj = {val: true}是对象一样。

您需要的是 obj[val] ,它会插入变量val的实际并使用它来查找该属性名称< / p>