亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我的返回值顯示為 NaN,我不知道為什么

我的返回值顯示為 NaN,我不知道為什么

繁花如伊 2022-10-27 16:25:30
我正在嘗試遍歷數組并將所有數組值加到totalValue變量中。const valid1 = [4, 5, 3, 9, 6, 7, 7, 9, 0, 8, 0, 1, 6, 8, 0, 8],  validateCred = (arr) => {    let totalValue;    for (let i = arr.length - 1; i >= 0; i--) {      let number = arr[i] * 2;      if (number > 9) {        totalValue += number - 9;      }      else {        totalValue += number;      }    }    return totalValue;  };console.log(validateCred(valid1));
查看完整描述

3 回答

?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

給出totalValue初始值,現在它正在添加數字undefined,結果是NaN


const valid1 = [4, 5, 3, 9, 6, 7, 7, 9, 0, 8, 0, 1, 6, 8, 0, 8]



const validateCred = (arr) => {

let totalValue = 0

   for (let i = arr.length - 1; i >= 0; i--) {

       let number = arr[i] *2

       if (number > 9) {

           totalValue += number - 9

       } else {

           totalValue += number

       }

   }

   return totalValue

}


console.log(validateCred(valid1))


你也可以使用Array.reduce這樣的方法


const valid1 = [4, 5, 3, 9, 6, 7, 7, 9, 0, 8, 0, 1, 6, 8, 0, 8]



const totalValue = valid1.reduce((acc, num) => {

  let number = num * 2

  if (number > 9) {

    acc += number - 9

  } else {

    acc += number

  }

  return acc

},0)


console.log(totalValue)


查看完整回答
反對 回復 2022-10-27
?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

totalValue在迭代之前將 的值設置為 0 通過建立totalValue數字來解決問題。還有其他方法可以做到這一點,但我認為這是合適的。


const valid1 = [4, 5, 3, 9, 6, 7, 7, 9, 0, 8, 0, 1, 6, 8, 0, 8]

//trying to loop through the array and sum all the array values in totalValue variable


const validateCred = (arr) => {

let totalValue = 0;

   for (let i = arr.length - 1; i >= 0; i--) {

       let number = arr[i] *2;

       if (number > 9) {

           totalValue += number - 9

       } else {

           totalValue += number

       }

   }

   return totalValue

}


console.log(validateCred(valid1))


查看完整回答
反對 回復 2022-10-27
?
www說

TA貢獻1775條經驗 獲得超8個贊

您的 totalValue 未初始化。


const valid1 = [4, 5, 3, 9, 6, 7, 7, 9, 0, 8, 0, 1, 6, 8, 0, 8];


const validateCred = (arr) => {

    let totalValue = 0;

    for (let i = arr.length - 1; i >= 0; i--) {

        let number = arr[i] * 2

        if (number > 9) {

            totalValue += number - 9

        } else {

            totalValue += number

        }

    }

    return totalValue

}


console.log(validateCred(valid1))


查看完整回答
反對 回復 2022-10-27
  • 3 回答
  • 0 關注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號