如何检查数组是否包含PUG模板中的字符串

时间:2018-03-22 15:46:31

标签: javascript node.js string express pug

我正在使用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

2 个答案:

答案 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()))

希望这可以节省一些时间!