[英]Get the absolute value of a number in Javascript
我想在 JavaScript 中获取数字的绝对值。 也就是说,放下标志。 我知道在数学上我可以通过对数字进行平方然后取平方根来做到这一点,但我也知道这是非常低效的。
x = -25 x = x * xx = Math.sqrt(x) console.log(x)
JavaScript 中是否有一种方法可以简单地删除比数学方法更有效的数字符号?
这是获取数字绝对值的快速方法。 它适用于每种语言:
x = -25; console.log((x ^ (x >> 31)) - (x >> 31));
如果您想了解 JavaScript 如何在幕后实现此功能,您可以查看这篇文章。
下面是基于chromium源代码的实现。
function MathAbs(x) { x = +x; return (x > 0) ? x : 0 - x; } console.log(MathAbs(-25));
替代方案
Math.max(x,-x)
let abs = x => Math.max(x,-x); console.log( abs(24), abs(-24) );
Rick 的答案也可以缩短为x>0 ? x : -x
x>0 ? x : -x
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.