使用json的数组 如何将NaN转换为数字零 所以如果你有数组1,2,3并减去1,2如何减去 1-1 2-2 3- NaN 对于3-0,NaN应为0
// Create variables to append player's + or - score per hole
var golfStroke = scores[y].strokes[q];
var parStroke = pars[z];
var scoreStroke = parStroke - golfStroke;
// Create if statement to change undefined array values to number 0 for calculation
var isNum = function () {
if (isNaN(golfStroke)) {
return 0;
} else {
return golfStroke;
}
if (isNaN(parStroke)) {
return 0;
} else {
return parStroke;
};
}
console.log("The over or minus par is: " + scoreStroke);
由于
答案 0 :(得分:4)
如果您有0
,使用NaN
的简单方法就是使用JavaScript's curiously-powerful ||
operator:
var x = somethingThatMayBeNaN || 0;
由于NaN
是假的,如果somethingThatMayBeNaN
为NaN
(或0
或任何其他假名值),则x
将设为{{1} }}。如果0
是真实的,somethingThatMayBeNaN
将设置为x
。当您处理数值计算时,通常只有somethingThatMayBeNaN
或0
可能存在的假名值。
“Falsey”和“truthy”:“falsey”值为NaN
,0
,""
,NaN
,undefined
,当然还有,null
。一切都是“真实的”。
答案 1 :(得分:3)
这将检查值是否为NaN,然后为其指定0。
anyNan = isNaN(anyNan) ? 0 : anyNan;
答案 2 :(得分:0)
假设golfStroke
可以是NaN
,例如:
var scoreStroke = parStroke - ~~golfStroke;
通过这种方式,任何数字都将保持不变,任何“虚假”值(如NaN
)将变为0
。