2015-10-02 3 views
0

Можно ли передать переменную в оператор switch, но условно! Ниже приведен пример. Я пробовал что-то подобное, и он не дает никаких ошибок, но при этом скачет прямо к случаю по умолчанию.Условие в операторе switch

var foo = 1; 
var bar = 2; 

switch(foo == 1? foo : bar) { 
    //cases 
} 

Что проверяется не имеет значения, просто интересно, если это возможно сделать, как я считаю, это более емким, чем объявить другую переменную и делает проверку перед переключателем! Приветствия.

+2

Да, то, что вы опубликовали [должно работать нормально] (http://jsfiddle.net/wms4bv9z/). Является ли ваш фактический код несколько иным? –

+0

Это немного отличается, я в основном разделяю строку и проверяю 0-й индекс вместо foo EDIT: оказывается, была семантическая ошибка, спасибо за помощь независимо! – Bradley

+0

Похоже, вам нужно снова обосновать свой вопрос, и почему это не работает, так как это нужно. –

ответ

1

Wy не объявляет var перед переключением?

var foo = 1, 
    bar = 2, 
    switchVar = (foo == 1) ? foo : bar; 

switch(switchVar) { 
    //cases 
} 
+0

Я собирался сделать это как работа, я просто хотел узнать, возможно ли это, что для меня кажется более кратким. – Bradley

+0

Я не уверен, что это хорошая практика, чтобы поставить оператор условия внутри switch var. – Pawel

+0

Интересный .. Вы могли бы предложить почему? :) – Bradley

Смежные вопросы