在 JavaScript 中默认负数为零
Default negative Numbers to Zero using JavaScript
使用该Math.max()
方法将负数默认为零,例如
Math.max(-5, 0)
.
该Math.max()
方法将两个或多个数字作为参数,并返回所提供数字中最大的一个。
索引.js
const num1 = Math.max(-5, 0); console.log(num1); // 👉️ 0 const num2 = Math.max(10, 0); console.log(num2); // 👉️ 10
Math.max
()
方法将两个或多个数字作为参数并返回最大的数字。
通过将零作为参数传递给该方法,我们可以确定该方法返回的最小值为
0
。另一方面,如果数字大于零,则该Math.max()
方法将按原样返回数字。
使用三元运算符将负数默认为零
另一种解决方案是使用三元运算符。
索引.js
let num = -5; num = num < 0 ? 0 : num; console.log(num); // 👉️ 0
三元
运算符
与语句非常相似if/else
。
如果问号左边的表达式为真,则运算符返回冒号左边的值,否则返回冒号右边的值。
你可以想象冒号前的值是if
块,冒号后的值是else
块。
JavaScript 中的假值是null
, undefined
, false
, 0
, ""
(空字符串),NaN
(不是数字)。
所有其他值都是真实的。
例如,如果num
变量存储的数字小于0
,则问号前的表达式返回true
,三元运算符返回0
。
索引.js
let num = -5; num = num < 0 ? 0 : num; console.log(num); // 👉️ 0
如果表达式返回false
,则三元运算符将数字存储在
num
变量中。
虽然此解决方案很直观,但我发现它比使用该方法更难阅读
Math.max()
。
if
使用语句将负数默认为零
另一种方法是使用简单的if
语句。
索引.js
let num = -5; if (num < 0) { num = 0; } console.log(num); // 👉️ 0
如果存储的值小于 ,num
使用关键字声明变量允许我们重新分配它。let
0
使用声明的变量const
不能重新赋值。
虽然这种方法有点冗长,但它仍然易于阅读且直观。