第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

為什么 NaN 會減少回報?

為什么 NaN 會減少回報?

元芳怎么了 2024-01-18 20:37:36
我故意注釋掉了return sum, 因為它沒有按預(yù)期工作。如果我刪除返回總和,它會返回正確的平均值。但這是我不明白的:當它進入最后一個索引位置的if時,這個返回顯示NaN。但為什么它返回 NaN 呢?const mediaNumeros = numeros.reduce((sum, element, index, array) => {    sum = sum + element;    if (index == array.length - 1) {        return Number((sum / array.length).toFixed(2));    }    // return sum;}, 0)
查看完整描述

1 回答

?
暮色呼如

TA貢獻1853條經(jīng)驗 獲得超9個贊

讓我們假設(shè) numeros 的值為 [8, 90, 0, 7]

讓我們看看每次迭代中發(fā)生了什么:-

第一次迭代時: 計算之前sum

  • 數(shù)組:[8, 90, 0, 7]

  • 元素:8

  • 索引:0

  • 總和:0

計算后sum

  • 數(shù)組:[8, 90, 0, 7]

  • 元素:8

  • 索引:0

  • 總和:8

sum如果我們在第一次迭代后沒有返回:

在第二次迭代時: 計算之前sum

  • 和:undefined

  • 數(shù)組:[8, 90, 0, 7]

  • 元素:90

  • 指數(shù):1

注意:Array.prototype.reduce() 接受一個函數(shù)(即它是高階函數(shù))而不是一個循環(huán)。

sum變得未定義,因為我們沒有返回前一個函數(shù)調(diào)用的值。Js 引擎不知道 的值是什么,sum因為前一個函數(shù)已經(jīng)完成并且它的執(zhí)行上下文被刪除。

計算后sum

  • 總和:undefined+ 90 =NaN

  • 數(shù)組:[8, 90, 0, 7]

  • 元素:90

  • 指數(shù):1

所以 的值sum就變成了 NaN

sum所以它繼續(xù)計算NaN的值。


查看完整回答
反對 回復(fù) 2024-01-18
  • 1 回答
  • 0 關(guān)注
  • 216 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號