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

Can I create dynamic variable names in jade using an array of string values for an object?

我有一个名为 values 的值数组。我有一个 each 声明我正在遍历数组。在 each 语句中,我使用 for 循环遍历对象数组。当我遍历对象时,我想检查并查看它们是否有一个 true 布尔变量,该变量与我的值数组中的项目名称相同。

- 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

它工作正常。

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

你需要的是 obj[val] 它将插入变量 val 的实际 value 并使用查找 属性 名称