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 常用数组方法