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

关于Arr.slice()的问题

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

  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 回答

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

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

Tien_jojo 提问者

那这样的话数组中数字没有全部取完呀,怎么算总分?
2016-06-02 回复 有任何疑惑可以回复我~
#2

anan1129 回复 Tien_jojo 提问者

怎么没有把数字全部取出了? 之前不是用split方式把字符串按照;号拆解成数组了吗
2016-06-08 回复 有任何疑惑可以回复我~
#3

婷婷很阳光 回复 anan1129

像是"小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76",如果选出下标3-下标4,选出的是“小天:76;小张:74;”,这样怎么算sum的值呀?求解答~
2016-07-14 回复 有任何疑惑可以回复我~

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

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

举报

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

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

进入课程

关于Arr.slice()的问题

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