Mögliche Duplizieren:
Number.sign() in javascriptWas ist der einfachste Weg in Javascript, um nur das Vorzeichen einer Zahl zu erhalten?
einige Zahlvariable gegeben, was ist der einfachste Weg, es unterschreiben, um zu bestimmen?
Ich halte Endung wie dies mit dem Code oben:
var direction = (vector[0] > 0) ? 1: (vector[0] < 0) ? -1: 0;
Es weniger scheint als elegant, wenn alles, was ich will, ist eine -1, wenn die Zahl negativ ist, 1, wenn positive und eine 0, wenn es 0 ist .
Mit "einfachste" meine ich wirklich elegant oder weniger tippen.
Alternativ gibt es vielleicht eine Möglichkeit, einen Wert absolut zu erhöhen. Wenn die Zahl negativ ist, subtrahiere 1 davon, und wenn es positiv ist, addiere eins dazu. Math.abs() liefert den absoluten Wert, aber es gibt keine Möglichkeit, sie wieder in eine vorzeichenbehaftete Zahl umzuwandeln, sobald Sie Math.abs() ausführen.
Mit ES6 Standard können Sie 'Math.sign verwenden()': https://developer.mozilla.org/de-DE/docs/Web/JavaScript/Referenz/Global_Objects/Math/sign Allerdings hat es aufgrund der Implementierung einen unglücklichen Randfall: 'Math.sign (-0) === Math.sign (+0) ' – johncip