数组
1.1数组的概念
案例:计算5名同学的平均分。
var a1,a2,a3,a4,a5,a6,a7,a8,a9,a10;
a1 = Number(prompt("请输入分数"));
a2 = Number(prompt("请输入分数"));
a3 = Number(prompt("请输入分数"));
a4 = Number(prompt("请输入分数"));
a5 = Number(prompt("请输入分数"));
var ave = (a1+a2+a3+a4+a5)/5;
alert(ave);
这个程序很简单,但是如果是100人呢,难道真的要复制100遍?
怎么解决?显然需要使用循环。
但是尝试一下就会发现,循环使用不上,因为无法去控制变量a1、a2,也就是无法将循环控制变量和变量a1、a2联系起来。
var a = [];
var sum = 0;
for(var i=0; i<10; i++){
a[i] = Number(prompt("请输入分数"));
sum += a[i];
}
var ave = sum/ a.length;
alert(ave);
这段代码能够实现同样的功能,而且如果是100人的话,只要把循环的条件改为i<100即可,整个程序的结构和代码量和人数多少没有关系。
为什么和人数没有关系?因为和循环结合起来了。
为什么能和循环结合起来呢?因为我们把变量的表示方式改变了,即名称+序号的方式(a[0]、a[1].......),那么序号是可以用循环变量去控制。
1.2 数组的定义与元素访问
定义有三种方式
(1)var a = [];
(2)var a = new Array();
(3)var a = [0,0,0];
访问元素:数组名+下标
a[0] a[3]
需要注意的是下标从0开始。
所以在使用的时候需要注意越界的问题,比如5个元素的数组,那么它的下标范围为【0,4】,不包括5,5已经越界了。
数组的本质:一组变量的集合,或者说是一组内存单元。只不过对于变量的表示方式使用的是数组名+下标的方式。