数组求和 ,把数组的87,81,90,这些数相加。看看weishenem 为什么会变成878196这样,没有相加的原因

来源:7-23 编程练习

慕仙5237505

2017-10-23 10:25

var sum=[];  function getSum(array){    for (var i = 0; i < array.length; i++){    sum += parseInt(array[i]);        }    return sum;    } alert(getSum(arr));最后一步求和了,居然变成字符串了,没有加全拍一排,怎么解 ? 本来打出来arr=87,81,85...  for循环相加后变成87858691这样了,没有变出总答案来

写回答 关注

3回答

  • 一个人时间
    2017-10-23 11:05:38
    已采纳

    拜托   你把sum定义为数组当然给你这样返回啦   你在定义的时候把sum定义成var sum=0就解决了好吧

    <!DOCTYPE html>

    <html>

    <head>

    <title>solution</title>

    <script type="text/javascript">

    var sum=0;

    function getSum(array){

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

    sum+=parseInt(array[i]);

    }

    return sum;

    }

    arr=[87,81,85,86,91];

    alert(getSum(arr));

    </script>

    </head>

    <body>


    </body>

    </html>


    慕仙5237... 回复一个人时间

    en,.好的

    2017-10-29 16:20:30

    共 3 条回复 >

  • 唐宋Neo4366213
    2017-10-23 17:28:52

    两点错误。

    (1):sum你定义为数组返回自然是数组不会求和;

    (2):改为sum+=parseInt(arr[j]);(取和需要时数字arr[j]得到的是字符串只会拼接不会计算相加);

  • 慕粉0849265914
    2017-10-23 11:22:54

    因为你数组里面存的就是字符串,arr.push(left[1]);改成arr.push(parseInt(left[1]));

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468871 学习 · 22582 问题

查看课程

相似问题