-4

带有 json 的数组如何将 isNaN 转换为数字零,所以如果你使用数组 1,2,3 并减去 1,2 如何减去 1-1 2-2 3-NaN NaN 应该是 0 表示 3-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);

谢谢

4

3 回答 3

4

0如果你有的话,一个简单的速记方法NaN是使用JavaScript 的奇怪强大的||操作符

var x = somethingThatMayBeNaN || 0;

因为NaN是假的,如果somethingThatMayBeNaNNaN0或任何其他假值),x将被设置为0。如果somethingThatMayBeNaN为真,x将设置为somethingThatMayBeNaN。当您处理数值计算时,您可能拥有的唯一错误值通常是0NaN


“Falsey”和“truthy”:“falsey”值为0, "", NaN, undefined, null, , 当然还有false. 一切都是“真实的”。

于 2013-10-23T07:20:25.663 回答
3

这将检查该值是否为 NaN,然后​​将 0 分配给它。

anyNan = isNaN(anyNan) ? 0 : anyNan;
于 2013-10-23T07:21:49.903 回答
0

假设golfStroke可能是NaN,例如:

var scoreStroke = parStroke - ~~golfStroke;

这样,任何数字都将保持不变,任何“虚假”值——比如NaN——都会变成0.

于 2013-10-23T07:26:19.610 回答