簡體   English   中英

嘗試將Number(value)相乘時給出NaN的數字數組

[英]Array of numbers giving NaN when trying to multiply Number(value)

我在這里嘗試了所有操作-將Numbers乘以數組后為什么我的totalArr總數變成NaN?

let amountArr  = [];
for (let i=0; i<3; i++) {

    // Find Data
    let lineAmount  = 0;
    let selected = printArr.filter(function(obj) {
        return obj.property == propertyArr[0] && obj.year == fromYear && obj.month == i+1;
    })

    if (selected.length) {

        console.log("typeof (selected[0].amount): " + typeof(selected[0].amount))
        console.log("selected[0].amount: " + selected[0].amount)

        lineAmount = Number(selected[0].amount);
        console.log("typeof (lineAmount): " + typeof(lineAmount))
        console.log("lineAmount: " + lineAmount)

    }

    amountArr[i] += Number(lineAmount)
    console.log("typeof (amountArr[i]): " + typeof(amountArr[i]))
    console.log("amountArr[i]  :" + amountArr[i])
    console.log("-------------------------------------------")

}
console.log(amountArr)

這是console.log的結果

在此處輸入圖片說明

任何幫助都會很大,我真的沒有得到這個幫助嗎?

amountArr[i] += 

這將添加一個未定義的值。

在代碼中使用

amountArr[i] += Number(lineAmount)

意思是

amountArr[i] = amountArr[i] + Number(lineAmount)

但是amountArr[i]是未定義的,當您向數字添加未定義的值時,它將變為NaN

您必須為您的數組amountArr分配一些默認值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM