for循环问题

来源:7-23 编程练习

慕运维2603834

2015-10-19 17:03

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

  • sevencuijian
    2015-10-19 17:11:58
    已采纳

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

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


    慕运维260...

    非常感谢!

    2015-10-19 20:04:36

    共 1 条回复 >

  • Y_du
    2015-10-19 17:08:47

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

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题