Как вложить операторы OR в JavaScript?
В настоящее время я создаю файловый менеджер.
Я хочу проверить, выбрал ли пользователь видеофайл. Файл может быть mov
, f4v
, flv
, mp4
а также swf
,
Я хочу проверить, если мой вар ext
является одним из них.
Что у меня есть:
if(ext == ('mov' || 'f4v' || 'flv' || 'mp4' || 'swf'))
{
//Do something
}
Кто-нибудь знает, как я могу заставить это работать. Я не хочу использовать переключатель, потому что у меня будет много дел.
3 ответа
Решение
Вам необходимо явно сравнить переменную с каждым из этих значений.
if( ext === 'mov' || ext === 'f4v' || ... ) {
}
..но, RegExp на помощь, мы можем пойти как
if( /mov|f4v|flv|mp4|swf/.test( ext ) ) {
}
Вроде хороший способ такой:
var exts = {
"mov" : null,
"f4v" : null,
"flv" : null,
"mp4" : null,
"swf" : null,
}
if(ext in exts){
// world peace
}
Вам нужно разделить их, вот так:
if(ext === "mov" || ext === "f4v" || ext === "flv" || ext === "mp4" || ext === "swf")
{
// do stuff
}
Вы также можете рассмотреть возможность размещения всех различных расширений в массиве и проверить, существует ли ext в этом массиве.