慕仙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这样了,没有变出总答案来
拜托 你把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>
两点错误。
(1):sum你定义为数组返回自然是数组不会求和;
(2):改为sum+=parseInt(arr[j]);(取和需要时数字arr[j]得到的是字符串只会拼接不会计算相加);
因为你数组里面存的就是字符串,arr.push(left[1]);改成arr.push(parseInt(left[1]));
JavaScript进阶篇
468871 学习 · 22582 问题
相似问题