Возможно ли сократить данный код, используя тернарный оператор?

98
13 сентября 2021, 16:00

Имеется две строчки, где value и n - любые два числа (value > n):

let answer = value / n;
return (answer % 1 == 0) ? answer : -1;

Возможно ли здесь обойтись без переменной answer, чтобы записать всё выражение в одну строчку? Только без этого:

return (value / n % 1 == 0) ? value / n : -1; 
// не нужно, чтобы value / n выполнялось два раза
Answer 1

Можно, вообще без тернарного оператора && возвращает последний оператор, в случае когда истина, либо возвращает ложь. А || возвращает первое которое истина, запятая возвращает последний результат.

function div(value, n){return n=value/n, n%2==0&&n||-1;} 
 
console.log(div(8, 2)); 
console.log(div(8, 3));

READ ALSO
Как изменить URL без перезагрузки?

Как изменить URL без перезагрузки?

есть страница с одной статьей Выглядит URL по типу siteru/news_one Прокручивая страницу у меня грузится новые статьи , события загрузки я получил,...

125
Как быть с waypoint и ajax load more?

Как быть с waypoint и ajax load more?

есть такая проблемаWaypoint js видит лишь те элементы что подгрузились изначально

83
Почему Vue global EventBus не работают в моем проекте

Почему Vue global EventBus не работают в моем проекте

Я использую vue js в laravel, мне нужно использовать шину глобальных событийЯ создал event-bus

75
Геометрические фигуры в css

Геометрические фигуры в css

Шалом,вот скрин того,что мне нужно склепать:

262