数组问题

数组问题

这段数组,没有搞明白,老师能讲解一下吗?感谢


const grades = [75,95,90,85,80,85];

let gradesSum = 0;

for(i = 0; i < grade.length; i++){

    gredesSum += grades [i]  //这句没有搞明白,什么是 gredesSum += grades [i]

}

console.log(gradesSum / grades.length)    //结果是86


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,+= 是累加操作符, gradesSum += grades [i] 等价于 gradesSum  =  gradesSum + grades [i] ,这样在遍历数组时,将数组中每一项的值与gradesSum相加,并重新赋值给gredesSum。例如:

第一次循环: gradesSum 值为0 , grades[0]值为75 ,  gradesSum = 0 + 75 = 75

第二次循环: gradesSum 值为75 , grades[0]值为95 , gradesSum = 75 + 95 =170

....

依此类推

最后一次循环: gradesSum值为510, grades[5]值为85,gradesSum = 510 + 85 =595

另外,粘贴的代码中,名称先后拼写不一致,建议修改:

https://img1.sycdn.imooc.com//climg/6306d32f09f9f42514860610.jpg

祝学习愉快~

  • applefishfish 提问者 #1

    谢谢老师,非常清晰的回答

    2022-08-26 00:31:34
  • applefishfish 提问者 #2

    老师,我感觉我又糊涂了

    第0次: 0+75=75

    第一次:75+95 = 170

    第二次: 170+90=260

    第三次: 260+85=345

    第四次: 345+80=425

    第五次: 425+85=510

    console.log(gradesSum / grades.length)   就是五次循环结果510/6=85, 6 为grades.length.那么结果应该是85对吗?怎么会是86?

    2022-08-29 23:37:19
  • 好帮手慕慕子 回复 提问者 applefishfish #3

    结果就是85呀,运行代码测试结果也是85,如下:

    https://img1.sycdn.imooc.com//climg/630d7e1f09a19e7621641092.jpg

    祝学习愉快~

    2022-08-30 11:04:34
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师