我想删除 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: Jan 的按位运算建议在某些情况下可能会更快,但也会删除小数位数,因此对我不起作用。