if statement ==至少有多个选项之一

时间:2016-08-02 17:36:45

标签: javascript node.js

我试图弄清楚如何编写if语句以检查x == (at least one of many vars)

的正确语法

我有一个例子,我想要的是什么......

var path = require('path')
var fs = require('fs')
var file1 = './frank.txt'
var file2 = './jasmine.html'
var file3 = './finnigan.jpg'

if (fs.statSync(file2).isFile && path.extname(file2) == ['.txt' || '.html']) {
  console.log('true')
} else {
  console.log('failure')
}

我知道后面的语法是&&很奇怪,但这种情况的正确语法是什么?

3 个答案:

答案 0 :(得分:2)

您可以检查elment是否存在某个索引:

if (fs.statSync(file2).isFile && ['.txt', '.html'].indexOf(path.extname(file2)) > -1) {
  console.log('true');
} 
else {
  console.log('failure');
}

答案 1 :(得分:2)

你也可以使用像这样的正则表达式

...
Stream mapping:
  Stream #0:1 -> #0:0 (png (native) -> mjpeg (native))
  Stream #0:0 -> #0:1 (copy)

答案 2 :(得分:0)

如果我告诉你的话,你可以在你的案子中使用Jquery inArray函数。

var arr=[ './frank.txt', './frank.html', './frank.jpg', './frank.csv' ] ;

if( $.inArray( 'file.exe',arr )!=-1)
{
     console.log('true');
}
else
{ 
     console.log('false');
}