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

for循环是硬伤

额~时间的弄出来了,但是数组的那个,我有点无从下手啊,不知道怎么用splice来选取分数,然后平均值

正在回答

4 回答

  var sorceStr = "小明:87; 小花:81; 小红:97; 小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
 
  var arr  = sorceStr.split(';');//按 ; 符号进行数组分割
//document.write(arr)  //去掉“//”感受下
  var sum = 0;
  var av= 0;
  for( var i =0;i<arr.length;i++ ){
        var index = arr[i].indexOf(':'); //根据 : 符号确定数字开始的位置

//document.write(index )//去掉“//”感受下       

sum += parseInt(  arr[i].substr(index+1,2)  );  // parseInt() 字符串类型转成整型;: 符号之后两位(如果有100分会出问题,当做10分)

   }
    av = sum/arr.length;
    av = Math.floor(av);  // 取整

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

慕仔0737733 提问者

还是不太懂,我找找,谢谢你
2017-03-02 回复 有任何疑惑可以回复我~
#2

linux__c 回复 慕仔0737733 提问者

哪里不懂
2017-03-03 回复 有任何疑惑可以回复我~
#3

慕仔0737733 提问者 回复 linux__c

var sum = 0; var av= 0; for( var i =0;i<arr.length;i++ ){ var index = arr[i].indexOf(':'); //根据 : 符号确定数字开始的位置 //document.write(index )//去掉“//”感受下 ,还有100分的话,只能当10分吗
2017-03-03 回复 有任何疑惑可以回复我~
#4

linux__c 回复 慕仔0737733 提问者

”的后两位。100为三位,所以差一位,运算过程中当做10分。(需要了解字符串和数组的定义,还有他们的方法)
2017-03-04 回复 有任何疑惑可以回复我~
#5

linux__c 回复 慕仔0737733 提问者

点提交 前面的没有了 。。写不动了
2017-03-04 回复 有任何疑惑可以回复我~
#6

linux__c 回复 慕仔0737733 提问者

详细了解 数组和字符串的定义,就了解这条for语句了。打了一堆字 网络不好 发送失败 敲不动了
2017-03-07 回复 有任何疑惑可以回复我~
#7

慕仔0737733 提问者 回复 linux__c

嗯嗯好的
2017-03-09 回复 有任何疑惑可以回复我~
查看4条回复


  var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";

  var mystr=scoreStr.split(";");

//把字符串scoreStr用split分割出来,分割结果是数组,名字叫mystr

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

  document.write(mystr[i])+"<br>";

  }

//i=0,初始条件,变量i设置为0;i<mystr.length,判断条件,满足时就循环,不满足就退出循环; i++,每次循环后变量i都会加一,因此它将终在若干次循环后不满足判断条件i<mystr.length而退出。

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

  var date=new Date();
  var weekday=["星期日","星期一","星期二","三","四","五","六"];
  var daynum=date.getDay();
  document.write(date.getFullYear()+"年");
  document.write(date.getMonth()+"月");
  document.write(date.getDate()+"日");
  document.write(weekday[daynum]+"</br>");
 

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

<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全带,准备启航</title>
<script type="text/javascript">
  //通过javascript的日期对象来得到当前的日期,并输出。
  var date=new Date();
  var timer='';
  timer=date.getFullYear()+"年";//获取年份
  timer+=date.getMonth()+1+"月";
  timer+=date.getDate()+"日";
  var day=date.getDay();
  var week;
  switch(day){
  case 0:
      week="周一";
      break;
  case 1:
      week="周二";
      break;
  case 2:
      week="周三";
      break;
  case 3:
      week="周四";
      break;
  case 4:
      week="周五";
      break;
  case 5:
      week="周六";
      break;
  case 6:
      week="周日";
      break;  
  }
  timer+="&nbsp"+week;
  document.write(timer);
 
  //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
  var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
  var arr=scoreStr.split(";");
   var sum=0;
   var av=0;
   for(var i=0;i<arr.length;i++){
       var index=arr[i].indexOf(":");
       sum+=parseInt(arr[i].substr(index+1,2));
   }
   av=sum/arr.length;
   av=Math.floor(av);
   document.write("班级平均分:"+av);

  //从数组中将成绩撮出来,然后求和取整,并输出。
 


</script>
</head>
<body>
</body>
</html>

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

慕仔0737733 提问者

这是答案啊亲,我需要的是解释,唉,不过谢谢你,我也在看答案的
2017-02-28 回复 有任何疑惑可以回复我~
#2

学习js 回复 慕仔0737733 提问者

这是我自己写的啊,你for循环哪看不懂,我给你解释
2017-02-28 回复 有任何疑惑可以回复我~
#3

慕仔0737733 提问者 回复 学习js

好吧,我看答案差不多,我先研究下吧,谢谢大神
2017-02-28 回复 有任何疑惑可以回复我~
#4

慕仔0737733 提问者 回复 学习js

因为我下班了,谢谢
2017-02-28 回复 有任何疑惑可以回复我~
#5

学习js 回复 慕仔0737733 提问者

scoreStr.split(";");这句意思是以分号分割这个数组,arr[i].indexOf(":");这句是indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置,就是找到了单个分号,substr(index+1,2))抽取到了具体的分数,在下面的应该不用解释了吧
2017-02-28 回复 有任何疑惑可以回复我~
#6

学习js 回复 慕仔0737733 提问者

这句是indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置,就是找到了单个冒号,冒号,冒号。看错了,我还说要是分号怎么看逻辑怎么不对呢,
2017-02-28 回复 有任何疑惑可以回复我~
查看3条回复

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468062    人
  • 解答问题       21891    个

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

进入课程

for循环是硬伤

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信