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

for循环问题

 var sorcestr = "小明: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++)

  为什么这里不能i<=arr.length呢?

  {var arr1 = arr[i].indexOf(":");

      sum += parseInt(arr[i].substr(arr1+1,2))

      };

      av = sum/arr.length;

      av = Math.floor(av);


正在回答

2 回答

因为数组的索引是从0开始的,比如有如下一个数组

var arr = new array(1,2,3,4,5);
arr.length   //数组长度输出为5;
arr[5];   //相当于输出数组中的第6个数据,数组中总共才5个数据,没有第6个,所以要输出最后一个,应该是arr[arr.length-1]


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

慕运维2603834 提问者

非常感谢!
2015-10-19 回复 有任何疑惑可以回复我~

数组的长度为10,而在实际运行过程中数组的第一个元素不是从1开始而是0.这样数组就会多出一个元素。所有在实际使用中会用i<arr.length而不是i <=arr.length

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

举报

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

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

进入课程

for循环问题

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