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

标签 javascript pug

我有一个名为values的值数组。我有一个正在遍历数组的 each 语句。在 each 语句中,我使用 for 循环来迭代对象数组。当我迭代对象时,我想检查并查看它们是否有一个 true bool 变量,该变量共享我的值数组中的项目名称。

- 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 语句?每个对象都有一个与列表中的值相关的 bool 变量。对象的模型如下所示:

{"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的实际和用它来查找该属性名称

关于javascript - 我可以使用对象的字符串值数组在 jade 中创建动态变量名称吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30243870/

相关文章:

javascript - 根据条件为 Odoo10 中的复选框添加颜色

javascript - 如何使用 jQuery 从 cookie 中删除特定的 cookie

javascript - 如何使用 Express、Jade、Imap 在 NodeJs 上将电子邮件附件传递到消息

javascript - 为什么 WebRTC 仅在第二次提供后才建立连接?

javascript - 使用 jQuery deferred、javascript 确定循环中触发的可变数量异步进程的分辨率

Javascript:测试在正则表达式字符串中找到单个字符

html - Jade mixin 中的多个 block

javascript - Node JS Pug 模板循环错误

javascript - 迭代 pug 中的 javascript 对象

javascript - 相当于没有 jQuery 的 $.load