Eventuali duplicati:
Number.sign() in javascriptQual è il modo più semplice in Javascript per ottenere solo il segno di un numero?
Dato un numero variabile, qual è il modo più semplice per determinare che è segno?
continuo a finire con codice come questo:
var direction = (vector[0] > 0) ? 1: (vector[0] < 0) ? -1: 0;
Sembra meno elegante, quando tutto quello che voglio è un -1 se il numero è negativo, 1 se positivo e 0 se è 0
Per "più semplice" intendo davvero elegante o meno digitante.
In alternativa, forse c'è un modo per aumentare assolutamente un valore. Come se il numero fosse negativo, quindi sottrarre 1 da esso e se è positivo aggiungerne uno. Math.abs() fornisce il valore assoluto, ma non è possibile convertirlo in un numero firmato dopo aver eseguito Math.abs().
Con ES6 è possibile usare 'Math.sign()': https://developer.mozilla.org/it/it/Documenti/Web/JavaScript/Riferimento/Global_Objects/Math/sign Tuttavia a causa dell'implementazione ha uno sfortunato caso limite: 'Math.sign (-0) === Math.sign (+0) ' – johncip