在javascript中进行除法运算时,如何将NaN替换为0?

时间:2019-05-14 02:05:10

标签: javascript arrays vue.js

我正在尝试使用.map()对对象数组进行简单除法。但是,当零除以零时将返回NaN。如何检查此计算并返回数字0而不是NaN?

  mounted() {
        console.log(this.dataOverview);
       let newData = this.dataOverview.map((data) => { 
           return {
              conversationSource: data.conversationSource,
              Id: data.Id,
              answerableConversations: data.conversationCount,
              interactiveConversations: data.interactive,
              leads: data.sent,
              interactiveLeadConversations: ((data.sent / data.interactive) * 100).toFixed(0) 
            }
        })
        this.convertedData = newData;
        console.log(this.dataOverview);
    }

使用此方法,当data.sent和data.interactive均为零时,interactiveLeadConversations会返回NaN。

1 个答案:

答案 0 :(得分:6)

您不需要显式检查。这应该是您的第10行:

interactiveLeadConversations: (((data.sent / data.interactive) || 0) * 100).toFixed(0)

我在这里要做的是替换表达式

(data.sent / data.interactive)

使用

( (data.sent / data.interactive) || 0 )

NaN的计算结果为false,因此,如果表达式(data.sent / data.interactive)等于NaN,则可以选择0