慕运维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);
因为数组的索引是从0开始的,比如有如下一个数组
var arr = new array(1,2,3,4,5); arr.length //数组长度输出为5; arr[5]; //相当于输出数组中的第6个数据,数组中总共才5个数据,没有第6个,所以要输出最后一个,应该是arr[arr.length-1]
数组的长度为10,而在实际运行过程中数组的第一个元素不是从1开始而是0.这样数组就会多出一个元素。所有在实际使用中会用i<arr.length而不是i <=arr.length
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题