我在div中打印出values-array的值。 我有以下代码,它运作良好:
...
...
document.getElementById("div").innerHTML = "Value: " + values[i];
<div id="div">The Value will be displayed here.</div>
然而,我的values-array中的一些值是负数,但我想只显示数组的正数。因此,如果数字为负数,则应改为 0 。
我尝试了以下但不起作用:
...
...
document.getElementById("div").innerHTML = "Value: " + if (values[i] < 0) {0} else {values[i]};
任何线索或提示?我是javascript的新手,非常感谢帮助。
答案 0 :(得分:3)
使用ternary operator,如:
var vals = (values[i] < 0 ) ? 0 : values[i];
document.getElementById("div").innerHTML = "Value: " + vals;
答案 1 :(得分:3)
还要考虑Math.max
:
document.getElementById("div").innerHTML = "Value: " + Math.max(0, values[i]);
答案 2 :(得分:2)
if
语句不会“返回”某个值;它们表示代码执行路径,如:
if this happens
do this
else
do that
你希望根据条件连接一个值,在你的情况下,三元运算符非常适合,因为它们在给定条件的情况下返回一个可能的值
var returnedValue = (condition)? value-if-true : value-if-false;
在你的情况下:
var myValue = (values[i] < 0)? 0 : values[i];
document.getElementById("div").innerHTML = "Value: " + myValue;
或者把它们放在一起:
document.getElementById("div").innerHTML = "Value: " + (values[i] < 0)? 0 : values[i];