2012-04-21 5 views
1

можно ли использовать стенографию оператора сложения и вычитания number += 1 и стенограммы if/else number = (true ? 1 : 0); вместе?Оператор сложения коротких строк вместе с сокращением If/Else - Javascript

Условие должно решить сложение или вычитание.

Такие, как это: number = (true ? +=1 : -=1);

+2

вы знакомы с тем, что * добавление * а * отрицательный * номер вычитает это число? Вы должны думать о проблеме таким образом ... –

ответ

1

Вы могли бы использовать что-то вроде этого:

number += 1 * (condition ? 1 : -1); 
+1

Почему '1 * ...'? –

+0

@FelixKling отрицательный, для вычитания. – Joseph

+1

@ Джозеф: А? '1 * -1 == -1' и' 1 * 1 == 1' ... Я не вижу, для чего нужен '1 *'. 'number + (1 * -1)' является таким же, как 'number + (-1)'. –

1

Если вы хотите использовать += оператора, необходимо иметь переменную, объявленную в первую очередь, в противном случае не может Работа. Если у вас есть, то вы можете просто иметь:

number += condition ? 1 : -1; 

Обратите внимание, что если у вас есть только номер 1 и -1 и condition является булево, вы могли бы сделать что-то вроде:

number += +condition || -1; 

Чтобы быть то, что возвращает 1 для true и что-то еще для false.

0

Это должно работать и иметь эффект сложения или вычитания операции

var number = 0; 
number += (condition) ? (1 * (<operation>)) : (-1 * (<operation>));