javascript教程-数组

前面讲过一次关于变量的教程,变量属于离散值。如果某个变量是离散的。它在任意时刻就只有一个值。如果想用一个变量来存储一组值,就需要使用数组(array)。

javascript里面数组要用关键字Array声明如下:

var aTest=Array(4);

var aTest=Array();

var aTest=Array("this is a","b","c");

var aTest=["this is a","b","c"];

var aTest=["this is a",123,false];

以上声明都是正确的,但是声明Array是个好的编程习惯。在这里可以看到,javascript数组跟声明变量是一样的,非常灵活,数组元素不必是字符串,也可以存入布尔值或是数组甚至是变量

如果想要获得数组的元素,同样简单,只需标明下标,即可取得相应的元素。

var aTest=Array();

aTest[0]='a';

aTest[1]='b';

var temp=aTest[0];

alert(temp);

结果为a。这里需要注意的是数组的下标默认是从0开始而不是1。

关联数组

如果填充数组时只给出了元素的值,这个数组就将是一个数值数组,它的各个元素的下标将被自动创建和刷新。

当然这里有一种特殊的方法,就是填充时我们为每个新元素指定下标,便于读取,并且这种下标不一定是数字,可以是字符串。

var preson=Array();

preson["name"]="Will";

preson["age"]="20";

preson["location"]="American";

这称为关联数组(associrative array)。其实每个数组都可以看做是关联数组因为数组的每个下标都应着相应的元素,虽然这些都是系统自动生成的数字。所以数值数组可以看做关联数组的一个特例来看待。

关联数组的好处在于,可以通过数组的名字来访问数组元素,这样大大提高了数组的可读性。

二维数组、多维数组

在javascript里是没有这个概念的。其实在javascript里数组已经非常的灵活,上面也提到过,数组的元素可以是数值、字符串、布尔值甚至是数组。

e.g.实现如下数组

1 2 3
4 5 6
var darry=Array();

darry[0]=[1,2,3];

darry[1]=[4,5,6];

alert(darry[0][1]);

alert(darry[1][1]);

但是,千万不能用darry[0][0]=1这样来赋值,这是完全错误的。

我们再做一个更加灵活的实验。

现在我要用一个关联数组来实现特殊的二维数组

e.g.用数组来实现Beyong乐队(我最喜欢的乐队)的成员

var beyond=Array();

var members=Array();

members["leadsinger"]="黄家驹";

members["guitarist"]="黄贯中";

members["bassist"]="黄家强";

members["drummer"]="叶世荣";

beyond["vocallist"]=members;

这样,现在beyond["vocallist"]["leadsinger"]其值为黄家驹,beyond["vocallist"]["guitarist"]值为黄贯中。

javascript数组的灵活性为程序带来了很多的方便,可以利用这些特殊的方法使程序更加容易阅读,更加灵活。

此条目发表在 javascript, 实验室 分类目录,贴了 标签。将固定链接加入收藏夹。