为了账号安全,请及时绑定邮箱和手机立即绑定

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

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 回答

拜托   你把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>


0 回复 有任何疑惑可以回复我~
#1

慕仙5237505 提问者

非常感谢!
2017-10-28 回复 有任何疑惑可以回复我~
#2

一个人时间 回复 慕仙5237505 提问者

不客气,学习的过程中不仅需要努力,也需要仔细,当自己发现的问题大部分能由自己解决的时候就证明自己进步了
2017-10-29 回复 有任何疑惑可以回复我~
#3

慕仙5237505 提问者 回复 一个人时间

en,.好的
2017-10-29 回复 有任何疑惑可以回复我~

两点错误。

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

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

1 回复 有任何疑惑可以回复我~

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

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
微信客服

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

帮助反馈 APP下载

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

公众号

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