关于Arr.slice()的问题

来源:7-23 编程练习

Tien_jojo

2016-06-02 20:48

//成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦

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

 

var scoreArr = sorceStr.split(";");


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

  var sum=0;

  var avg=0;

  for(var i;i<scoreStr.length;i++){

      sum = sum + parseInt(scoreArr[i].slice(3,5));

  }

  avg = sum / scoreArr.length;

  document.write(parseInt(avg));

  sum = sum + parseInt(scoreArr[i].slice(3,5));看不懂这个啊。为什么是3和5?算总成绩怎么从中间开始?


写回答 关注

2回答

  • anan1129
    2016-06-02 22:50:05
    已采纳

    3和5表示的是下表3到下标5,其中包括3但不包括5,数组中截取子数组都是含头不含尾 意思是包括下标的开始不包括下标结束的  在循环之前用了数组的split方法将原来的scoreStr字符串以 ; 号分割成一个数组 再取出其中分数的部分 这样就可以通过后面的计算算出总成绩和平均分了

    婷婷很阳光 回复anan11...

    像是"小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76",如果选出下标3-下标4,选出的是“小天:76;小张:74;”,这样怎么算sum的值呀?求解答~

    2016-07-14 13:28:31

    共 3 条回复 >

  • qq_阳光斜影_03450181
    2016-06-07 03:22:41

    直接写个slice(-2);不是好多了吗,直接从倒数第二位取到最后。

JavaScript进阶篇

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

468277 学习 · 21892 问题

查看课程

相似问题