慕UI1237056
2016-04-19 15:53
<!DOCTYPE HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全带,准备启航</title>
<script type="text/javascript">
//通过javascript的日期对象来得到当前的日期,并输出。
var currentDate = new Date();
var weekday = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
document.write(
currentDate.getFullYear() + "年" +
(currentDate.getMonth() + 1) + "月" +
currentDate.getDate() + "日" + " " +
weekday[currentDate.getDay()]
);
//成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
var sorceStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
var sourceArr = sorceStr.split(";");
//document.write(sourceArr+"<br>");//test
//从数组中将成绩撮出来,然后求和取整,并输出。
var theNum = sourceArr.indexOf(":");
var score=sourceArr.substr(theNum+1);
document.write(theNum);
document.write(score);
这四句代码有什么错啊,为什么有了这四句之后,就不能正常显示后面的sun了
var sum = 0;
for (var i = 0; i < sourceArr.length; i ++) {
sum += parseInt(sourceArr[i].substr(sourceArr[i].indexOf(":")+1));
//document.write("<br>" + sum);//test
}
document.write("--班级总分为:" + sum);
document.write(",班级平均分为(保留整数):" + Math.round(sum/sourceArr.length))
</script>
</head>
<body>
</body>
</html>
var theNum = sourceArr.indexOf(":"); 这里输出的是-1 说明没找到 你找的方式不对
应该是sourceArr[i].indexOf(":")+1) 这样才能找到 因为你截取值后是一个个分开的 小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76" 这种数据 没有下标是不会进行查找的 你要放到一个循环里 才能定位到 “:”所在的位置
放在for循环里用indexOf()截取数字,不然不知道取数组里的那个值。
var theNum = sourceArr.indexOf(":");这还是长字符串的啊 sourceArr[i]
JavaScript进阶篇
468197 学习 · 21891 问题
相似问题