为什么累加的结果是对的,但过程不对

为什么累加的结果是对的,但过程不对

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

<title>数组</title>

</head>

<body>

<script>


var arr=[1,2,"炸弹",3,4,"炸弹",5];


// 补充代码

var sum = 0 ;

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

    if(arr[i]!="炸弹"){

        sum+=arr[i]

    }

   

}

document.write(sum)


</script>

</body>

</html>


正在回答 回答被采纳积分+1

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

1回答
好帮手慕然然 2021-08-16 10:49:49

同学你好,老师测试了一下这段代码,运行结果和代码都是正确的,如图

http://img1.sycdn.imooc.com//climg/6119d21c0980a30316150558.jpg

老师没明白同学所说的是什么过程不对,同学能再仔细描述一下吗?

祝学习愉快!

  • 提问者 qwq2654970 #1

    http://img1.sycdn.imooc.com//climg/6119e27b09ec07b513270556.jpgdocument.write(sum)移到里面答案过程是错的,并不是1361015

    2021-08-16 12:01:00
  • 好帮手慕然然 回复 提问者 qwq2654970 #2

    同学你好,如果document.write(sum)代码放到for循环中执行,那么每循环一次,就会输出一个结果。

    此时页面上是每一次循环相加的结果连在一起显示了,可以加个换行标签,查看效果,如图

    http://img1.sycdn.imooc.com//climg/611a0e1b093166f615200499.jpg

    所以,建议在for循环之外输出最终计算结果。

    祝学习愉快!

    2021-08-16 15:06:29
  • 好帮手慕然然 回复 提问者 qwq2654970 #3

    同学你好,再补充一点,当循环到“炸弹”时,if语句中的代码不会执行,此时sum的值不会改变,还是上次循环后的值,因此有些值会重复出现。祝学习愉快!

    2021-08-16 17:50:28
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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