可能重複:
Number.sign() in javascriptJavascript中最簡單的方法是隻獲取數字的符號是什麼?
鑑於一些號的變量,什麼是確定它的標誌最簡單的方法?
我跟上代碼結束了像這樣:
var direction = (vector[0] > 0) ? 1: (vector[0] < 0) ? -1: 0;
似乎小於優雅,當所有我要的是-1,如果是負數,1表示正,0,如果是0
「最簡單」我的意思是優雅或少打字。
或者,也許有一種方法可以絕對增加一個值。就好像這個數字是負數,然後從它減去1,如果是正數就加1。 Math.abs()提供絕對值,但運行Math.abs()後無法將其轉換回有符號數。
隨着ES6您可以用'Math.sign()':https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/sign 但是由於實現它有一個不幸的邊緣情況:'Math.sign(-0)=== Math.sign(+0) ' – johncip