LDB*_*LDB 0 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);
}
Run Code Online (Sandbox Code Playgroud)
使用此方法,当data.sent和data.interactive均为零时,interactiveLeadConversations返回NaN。
您不需要显式检查。这应该是您的第10行:
interactiveLeadConversations: (((data.sent / data.interactive) || 0) * 100).toFixed(0)
Run Code Online (Sandbox Code Playgroud)
我在这里要做的是替换表达式
(data.sent / data.interactive)
Run Code Online (Sandbox Code Playgroud)
与
( (data.sent / data.interactive) || 0 )
Run Code Online (Sandbox Code Playgroud)
NaN的计算结果为false,因此,如果表达式(data.sent / data.interactive)等于NaN,则可以0选择提供。
| 归档时间: |
|
| 查看次数: |
54 次 |
| 最近记录: |