javascript - 将字符串和变量连接成 Jade 的变量名

标签 javascript string variables concatenation pug

是否有一种 Jade 可以理解的、简洁的方法来将字符串和变量连接成变量名

理想情况下,它看起来像这样:

each #{shape + 'Text'} in #{shape + 'Texts'}
    li #{shape + 'Text'}

我尝试使用window[shape + 'Text']但这似乎不起作用。也许我做错了?

这就是我想这样做的原因:

我有一个名为 shapes 的数组,如下所示:['square', 'triangle', 'circle']

我正在使用 Jade 的 each ... in ... 函数来迭代该数组。在函数的每次迭代中,我需要对其他几个数组之一执行另一个 each ... in ... 操作。我不想使用直接变量来选择要迭代的数组,例如 shapes 中的每个形状,而是想将 shape 与字符串连接以获得类似的结果squareTexts中的每个squareTextcircleTexts中的每个circleText

目前,我正在使用条件来实现我想要的结果,但它很冗长并且不符合语言的简约精神。

预先感谢您的任何建议。

最佳答案

所以在我的例子中,技巧是使用 Javascript 的 eval() 函数将变量名称和字符串连接成一个新的变量名称。这是我成功(且简洁)的实现。

- var items = eval(shape + 'Texts');
each item, i in items
    li #{items[i]}

关于javascript - 将字符串和变量连接成 Jade 的变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12791114/

相关文章:

javascript - 在客户端生成唯一 ID 的最佳方式(使用 Javascript)

javascript - 在 Nuxt 前端使用 Strapi 上上传的图像

python - 查找最不常出现的模糊字符串

java - 创建实例变量不起作用?

java - 无法在for循环外打印变量

javascript - 如何验证 jquery-validation 中的选择框?

HTML 属性中的 Javascript 变量

在R中同时替换同一字符串的多个子字符串

html - Bash 字符串格式化

python - Flask Python 和 css 变量