簡體   English   中英

Node / Express / Nunjucks:TypeError:無法使用“in”運算符在“y”中搜索“x”

[英]Node / Express / Nunjucks: TypeError: Cannot use 'in' operator to search for 'x' in 'y'

我是 Nunjucks / Express 和 Node.js 世界的新手。

我有一個路由文件,它正在從表單字段中移植輸入的值。 我需要檢查該值是否包含表達式“gov”。

所以我創建了以下內容:

router.get('/test/output/', function (req, res) {
  var emailAdress = req.session.data['accountEmail']
  if ('gov' in emailAdress){
    isCS = true
  }
  res.render('test/output.html',{
    'email' : emailAdress,

.... 等等...

這給了我以下錯誤:

TypeError: Cannot use 'in' operator to search for 'gov' in 'email@email.com'

我知道這與對象和數組有關 - 我只是找不到解決方案 - 我很欣賞它可能很簡單。 任何幫助深表感謝。

in運算符僅適用於對象,不適用於字符串原語。

要在字符串中搜索,您可以使用includes

emailAdress.includes('gov')

一個 ES5 兼容版本(在includes之前):

emailAdress.indexOf('gov') !== -1

或者您可以檢查字符串是否以'gov'結尾:

emailAdress.endsWith('gov')

我的代碼最終看起來像這樣:

router.get('/test/output/', function (req, res) {

var emailAddress = req.session.data['accountEmail']
var isCS = emailAddress.includes('gov');

res.render('test/output.html',{
'email' : emailAddress,
'cs' : isCS,

'layout' : '2-0',
'h1': 'Create an account',

...等等。 等等....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM