1

如何使用 javascript 将 -1 转换为 1?

var count = -1; //or any other number -2 -3 -4 -5 ...

或者

var count = 1; //or any other number 2 3 4 5 ...

结果应该是

var count = 1; //or any other number 2 3 4 5 ...
4

4 回答 4

17
 count = Math.abs(count)
 // will give you the positive value of any negative number
于 2010-09-19T22:29:41.873 回答
3

abs 函数将所有数字变为正数:即 Math.abs( -1 ) = 1

于 2010-09-19T22:30:12.263 回答
3

替代方法(可能会更快Math.abs,未经测试):

count = -5;
alert((count ^ (count >> 31)) - (count >> 31));

请注意,javascript 中的按位运算始终是 32 位的。

于 2010-09-19T22:51:44.337 回答
0

如果感兴趣的数量是input......除了Math.abs(input)......

var count = (input < 0 ? -input : input);

jsFiddle 示例

编辑:正如一些人指出-input的那样快于-1 * input

上面使用了Javascript 条件运算符。这是唯一的三元(采用三个操作数)Javascript 运算符。

语法是:

condition ? expr1 : expr2

如果condition为真,expr1则评估,如果为假,expr2则评估。

于 2010-09-19T22:54:42.303 回答