如何快速地把正数转换成1,负数转换成-1?
既然题主说的是 正数 or 负数 是不是应该考虑0?
function f1(number){
if(+number){
throw new TypeError('只接受number 并且是大于0 or 小于0);
}
return number / Math.abs(number);
}
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
1 回答3.3k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
注意: 由于非0 除以 0 是
Infinity
或-Infinity
,而这两个值不会被判false
,所以下面的f2_ex
就不对了,留下在这里作为警示。@bf 補充:
nodejs 參考值:運行 1000000 次,
f1: 10ms
f2: 1ms
f3: 402ms