2015-04-04 2 views
1

в петле у меня есть этотмагазин оператора переменной

if(id < arr.length - 1 && a != null){ 
//lots of thing here 
} 

Могу ли я хранить оператор id < arr.length - 1 в переменную? Я не хочу иметь избыточный код, используя else для инструкции выше.

Могу ли я это сделать?

var check = a == true ? id < arr.length - 1 : false; 
+3

Вы пытались посмотреть, работает ли он? Если нет, то какая ошибка вы получаете? – D4V1D

+0

Если вы правильно поняли, вам нужно сохранить ** результат ** оператора сравнения, а не сам оператор – hindmost

+0

var check = (a === true && (id Legends

ответ

2

Вы пытаетесь сохранить состояние (не оператор).

// (within a loop) 
var first_condition = id < arr.length - 1; // stored as true or false (boolean) 
var second_condition = a !== null; // note the !== NOT != 

if (first_condition && second_condition) { 
    // lots of thing here 
} 

Хотя, если вы имели в виду увольняемых в else if с с таким же условием, вы можете сделать вложенные if вместо этого.

if (first_condition) { 
    if (second_condition) { 

    } 
} 
0

Вы можете сделать это:

var condition_check=(id < arr.length - 1) && a !== null; 
if (condition_ckeck){ 
    //lots of things will happen 
} 
Смежные вопросы