![](/img/trans.png)
[英]Uncaught TypeError: Cannot use 'in' operator to search for 'length' in
[英]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.