5.6 使用数组
JavaScript数组的工作方式与大多数编程语言中的数组类似。代码清单5-26示范了如何创建和填充数组。
代码清单5-26 创建和填充数组
<! DOCTYPE HTML> <html> <head> <title>Example</title> </head> <body> <script type="text/javascript"> var myArray = new Array(); myArray[0] = 100; myArray[1] = "Adam"; myArray[2] = true; </script> </body> </html>
例中通过调用new Array()创建一个新的数组。这是一个空数组,它被赋给变量myArray。后面的语句给数组中的几个索引位置设置了值。
此例有几处需要说明一下。首先,创建数组的时候不需要声明数组中元素的个数。JavaScript数组会自动调整大小以便容纳所有元素。第二,不必声明数组所含数据的类型。JavaScript数组可以混合包含各种类型的数据。例中分别把一个数值、一个字符串和一个布尔值赋给了不同的数组元素。
5.6.1 使用数组字面量
使用数组字面量,可以在一条语句中创建和填充数组,如代码清单5-27所示。
代码清单5-27 使用数组字面量
<! DOCTYPE HTML>
<html>
<head>
<title>Example</title>
</head>
<body>
<script type="text/javascript">
var myArray = [100, "Adam", true];
</script>
</body>
</html>
此例通过在一对方括号([和])之间指定所需数组元素的方式创建了一个新数组,并将其赋给变量myArray。
5.6.2 读取和修改数组内容
要读取指定索引位置的数组元素值,应使用一对方括号([和])并将索引值放在方括号间,如代码清单5-28所示。JavaScript数组的索引值从0开始。
代码清单5-28 读取指定索引位置的数组元素值
<! DOCTYPE HTML>
<html>
<head>
<title>Example</title>
</head>
<body>
<script type="text/javascript">
var myArray = [100, "Adam", true];
document.writeln("Index 0: " +myArray[0]);
</script>
</body>
</html>
要修改JavaScript数组中指定位置的数据,只消将新值赋给该索引位置的数组元素即可。与普通变量一样,改变数组元素的数据类型没有任何问题。代码清单5-29示范了如何修改数组内容。
代码清单5-29 修改数组内容
<! DOCTYPE HTML>
<html>
<head>
<title>Example</title>
</head>
<body>
<script type="text/javascript">
var myArray = [100, "Adam", true];
myArray[0] = "Tuesday";
document.writeln("Index 0: " + myArray[0]);
</script>
</body>
</html>
此例将一个字符串赋给了数组第0位的元素,该元素原来保存的是一个数值。
5.6.3 枚举数组内容
可以用for循环枚举数组内容。代码清单5-30示范了如何使用循环语句显示一个简单数组的内容。
代码清单5-30 枚举数组内容
<! DOCTYPE HTML> <html> <head> <title>Example</title> </head> <body> <script type="text/javascript"> var myArray = [100, "Adam", true]; for (var i = 0; i < myArray.length; i++) { document.writeln("Index " + i + ": " + myArray[i]); } </script> </body> </html>
JavaScript中的循环语句的工作方式与大多数语言中的类似。要确定数组中的元素个数可以使用其length属性。代码清单的输出结果如下:
Index 0: 100 Index 1: Adam Index 2: true
5.6.4 使用内置的数组方法
JavaScript中的Array对象定义了许多方法。表5-5罗列了一些最常用的方法。
表5-5 常用数组方法