我正在使用NodeJS和Express以及PUG视图引擎。
我正在尝试检查数组是否包含某个字符串。我尝试过内置的javascript方法,例如:
array.includes(str)
array.indexOf(str) > -1.
然而,这些选项似乎都不起作用。如何在PUG中检查数组是否包含某个字符串?
if example_array.length > 0
span() Array contains elements! // This works and appears on page
if example_array.includes('example string') // This does not work
span() Array includes example string! // This does not appear on page
答案 0 :(得分:2)
如果要在模板中运行内联JS,则必须将代码标记为无缓冲。 https://pugjs.org/language/code.html#unbuffered-code
{{1}}
注意第3行“if”前面的“ - ”。
由于现在这是一个文字的js表达式,所以也需要parantheses。
答案 1 :(得分:0)
这使我忙了几个小时,所以我想分享自己的解决方案。直接检查字符串时,答案是正确的,但是请记住,如果要从变量中检查,则可能需要添加.toString()
:
- if (example_array.includes(myVariable.toString()))
希望这可以节省一些时间!