JavaScript で数値の記号を削除したい。jsperf ( http://jsperf.com/remove-sign-from-number )で既に調べたテスト ケースを次に示します。
if(n < 0) n *= -1;
if(n < 0) n = -n;
n = Math.abs(n)
(n < 0) && (n *= -1)
(n < 0) && (n = -n)
n = Math.sqrt(n*n)
これらのテストによると:if(n < 0) n *= -1
良い解決策のようです。
それを行うための、より良い、節約的で効率的な方法を知っていますか?
編集 1: Nikhil のMath.sqrt
ケースを追加しましたsqrt
が、通常、ほとんどのシステムで非常に低速です。
編集 2:ビットごとの ops に対する Jan の提案は、場合によっては高速になる可能性がありますが、小数桁も削除されるため、私にはうまくいきません。