Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.12.2014, 11:04
Аспирант
Отправить личное сообщение для piraids Посмотреть профиль Найти все сообщения от piraids
 
Регистрация: 20.08.2013
Сообщений: 88

Как обойтись без ИЛИ?
Есть условие на проверку значения:
var $val = 1;
if($val == '1' || $val == '7' || $val == '9'){
  console.log('выполняем действие');
}

Как обойтись без логического ИЛИ( || ) ?
Ответить с цитированием
  #2 (permalink)  
Старый 09.12.2014, 11:47
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Есть вариант c использованием метода some(). Но он годится только если у тебя много возможных ИЛИ

var $val = 1;

    var m = ['1', '7', '9'];
    var res = m.some(function(el) {
      return $val == el;
    });

    if (res) {
      console.log('выполняем действия');
    }
Ответить с цитированием
  #3 (permalink)  
Старый 09.12.2014, 11:58
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

var $val = 1;
   
if($val in {1:0, 7:0, 9:0}) {
    alert(true);
}

Последний раз редактировалось ruslan_mart, 09.12.2014 в 14:54.
Ответить с цитированием
  #4 (permalink)  
Старый 09.12.2014, 12:19
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

var $val = 1;
switch ($val) {
    case 1:
    case 7:
    case 9:
        console.log('выполняем действие');
        break;
}
Ответить с цитированием
  #5 (permalink)  
Старый 09.12.2014, 13:21
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

if (/^[179]$/.test($val)) { ... }
Ответить с цитированием
  #6 (permalink)  
Старый 09.12.2014, 17:46
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

По-моему самый простой:
(['1', '7', '9'].indexOf(val) >= 0)
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 09.12.2014, 17:56
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

как и просили, без или
var $val = 1;
console.log('выполняем действие');
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #8 (permalink)  
Старый 09.12.2014, 18:06
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

danik.js, а зачем цифры в кавычки?
Ответить с цитированием
  #9 (permalink)  
Старый 09.12.2014, 18:27
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Ruslan_xDD
danik.js, а зачем цифры в кавычки?
Это не ко мне вопрос. Только нужно помнить, что для indexOf проводится строгая проверка - нужно привести все к одному типу.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #10 (permalink)  
Старый 09.12.2014, 19:02
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от piraids Посмотреть сообщение
Есть условие на проверку значения:
var $val = 1;
if($val == '1' || $val == '7' || $val == '9'){
  console.log('выполняем действие');
}

Как обойтись без логического ИЛИ( || ) ?
я думаю, что твоё решение самое адекватное
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как реализуется редактирование и оформление текста без традиционных форм macdack Общие вопросы Javascript 0 03.11.2012 20:23
Как узнать, float или int значение присвоено переменной? gadyuka Общие вопросы Javascript 4 30.10.2012 15:31
как с помощью jquery отсылать без перезагрузки... serhanters jQuery 11 22.07.2011 21:17
как сделать аналог jquery.load без jquery? vvsh AJAX и COMET 5 05.06.2009 22:40
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25