Как сократить x > 0 ? 1 : (x < 0 ? -1 : 0)
В F# есть для этого функция Math.sign(x).
Функция должна работать так: function sign(x) { if (x > 0) return +1; if (x < 0) return -1; return 0; } |
danik.js, можно так :)
function sign(x) { return x/Math.abs(x)|0; } Или так: function sign(x) { return x < 0 ? -1 : +!!x; } |
function sign(x){ return x && ( x >> 31 ) * 2 + 1 } |
магийа)
|
tenshi, почему не return x && ( x >> 31 || 1 )? Разве нельзя обойтись без арифметических операций?
|
Вариант с Math.abs отличный. А зачем там |0 ?
|
Одного не понимаю - зачем???
|
Riim, что зачем?
На входе получаем некое число, положительное, 0 или отрицательное, на выходе нужно иметь +1, 0 или -1 |
Хотя вроде бы мне это действительно не нужно )
Я мучаюсь с событием WheelEvent. Мне нужно кроссбраузерно получать значение дельт при прокрутке. |
Цитата:
|
Часовой пояс GMT +3, время: 08:54. |