Подтвердить что ты не робот

Назначить, только если условие истинно в тройном операторе в JavaScript

Можно ли сделать что-то подобное в JavaScript?

max = (max < b) ? b;

Другими словами, присвойте значение, только если условие истинно. Если условие ложно, ничего не делайте (без присвоения). Возможно ли это?

4b9b3361

Ответ 1

Тогда не используйте троичный оператор, он требует третьего аргумента. Вам нужно будет переназначить max на max если вы не хотите, чтобы он менялся (max = (max < b)? b: max).

Оператор if гораздо понятнее:

if (max < b) max = b;

И если вам нужно, чтобы оно было выражением, вы можете (ab) использовать оценку короткого замыкания AND:

(max < b) && (max = b)

Кстати, если вы хотите избежать повторения имен переменных (или выражений?), Вы можете использовать функцию Maximum:

max = Math.max(max, b);

Ответ 2

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

Однако вы можете

max = (max < b) ? b : max;

в этом случае, если условие ложно, значение max не изменится.

Ответ 3

Вы можете просто установить max для себя, если условие ложно.

max = (max < b) ? b : max;

Или вы можете попробовать использовать оператор &&:

(max < b) && (max = b);

Или, чтобы ваш код был простым, просто используйте if.

if(max < v) max = b;

Ответ 4

Я думаю, что троянец более подходит попробуйте это

(max < b) ? max = b : '';

Ответ 5

Существует не определенный оператор, который не является тернарным оператором, но вы можете использовать его следующим образом:

max = (max < b) ? b : max;

Ответ 6

Я думаю, что лучший подход может быть

max = Math.max(max, b)

Ответ 7

смотреть:

(max < b)? max = b: null;

это сработает, я думаю, что вы хотите избежать использования двоеточия, к сожалению, этого не произойдет