JS中,数组求和这一段代码,为什么求和那个部分出问题了啊,如果直接代码里指定数组就正常求和。
vartemp=window.prompt("请输入每名儿童滑轮的时间");vartime=temp.split(",");//拆分放到新数组for(i=0;i<time...
var temp = window.prompt("请输入每名儿童滑轮的时间");
var time = temp.split(","); //拆分放到新数组
for(i=0;i<time.length;i++){
document.write(time[i]+"/");}
document.write("<br/>"); //遍历一遍新数组
var timesum = 0;
for(i=0;i<time.length;i++){
timesum += time[i];
} //数组求和
document.write("五个小孩总共用时"+timesum+"<br/>");
var timeavg=timesum/time.length; //数组平均数
document.write("五个小孩平均用时"+timeavg+"<br/>"); 展开
var time = temp.split(","); //拆分放到新数组
for(i=0;i<time.length;i++){
document.write(time[i]+"/");}
document.write("<br/>"); //遍历一遍新数组
var timesum = 0;
for(i=0;i<time.length;i++){
timesum += time[i];
} //数组求和
document.write("五个小孩总共用时"+timesum+"<br/>");
var timeavg=timesum/time.length; //数组平均数
document.write("五个小孩平均用时"+timeavg+"<br/>"); 展开
1个回答
展开全部
for(i=0;i<time.length;i++){
timesum += time[i];
}
这个应该取出来的是字符串吧,要转换成数字啊,
for(i=0;i<time.length;i++){
timesum += parseInt(time[i]);
}
timesum += time[i];
}
这个应该取出来的是字符串吧,要转换成数字啊,
for(i=0;i<time.length;i++){
timesum += parseInt(time[i]);
}
追问
谢谢啊,嘿嘿,确实是这个问题;还有个小问题
window.prompt()他存入的数据比如(1,啊,A)或者(1,2,3)是全部都按字符串处理吗?
能输入完直接转换一下它吗?比如
var temp = window.prompt(" ");
temp = parseInt(temp);
然后马上做加法...
追答
这个是不行的,parseInt本来就是用来一个一个转换的,你这样就是想一次就把你输入的字符串转成一个数字数组;这样是不行的。
parseInt输出的是1,parseInt这个函数是一个一个字符进行解析,遇到不是数字的字符时就返回前面已解析完的数字。
所以不管你输入的是1,啊,A;还是1,2,3都返回的是1
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询