JavaScript从入门到精通(微视频精编版)
上QQ阅读APP看书,第一时间看更新

7.3 操作数组元素

视频讲解

数组是数组元素的集合,在对数组进行操作时,实际上是对数组元素进行输入或输出、添加或删除的操作。

7.3.1 数组元素的输入和输出

数组元素的输入即为数组中的元素进行赋值,数组元素的输出即获取数组中元素的值并输出,下面分别进行介绍。

1.数组元素的输入

向数组对象中输入数组元素有3种方法。

(1)在定义数组对象时直接输入数组元素

这种方法只能在数组元素确定的情况下才可以使用。

例如,在创建数组对象的同时存入字符串数组。代码如下:

    var arr = new Array("a","b","c","d");  //定义一个包含4个元素的数组

(2)利用数组对象的元素下标向其输入数组元素

该方法可以随意地向数组对象中的各元素赋值,或是修改数组中的任意元素值。

例如,在创建一个长度为7的数组对象后,向下标为3和4的元素中赋值。

    01  var arr = new Array(7);  //定义一个长度为7的数组
    02  arr[3] = "a";            //为下标为3的数组元素赋值
    03  arr[4] = "b";            //为下标为4的数组元素赋值

(3)利用for语句向数组对象中输入数组元素

该方法主要用于批量向数组对象中输入数组元素,一般用于向数组对象中赋初值。

例如,可以通过改变变量n的值(必须是数值型),给数组对象赋指定个数的数值元素。代码如下:

    01  var n=7;                //定义变量并对其赋值
    02  var arr = new Array();  //定义一个空数组
    03  for (var i=0;i<n;i++){  //应用for循环语句为数组元素赋值
    04      arr[i]=i;
    05  }
2.数组元素的输出

将数组对象中的元素值进行输出有3种方法。

(1)用下标获取指定元素值

该方法通过数组对象的下标,获取指定的元素值。

例如,获取数组对象中的第3个元素的值。代码如下:

    01  var arr = new Array("a","b","c","d");  //定义数组
    02  var third = arr[2];                    //获取下标为2的数组元素
    03  document.write(third);                 //输出变量的值

运行结果为:

    c

注意

数组对象的元素下标是从0开始的。

(2)用for语句获取数组中的元素值

该方法是利用for语句获取数组对象中的所有元素值。

例如,获取数组对象中的所有元素值。代码如下:

    01  var str = "";                          //定义变量并进行初始化
    02  var arr = new Array("a","b","c","d");  //定义数组
    03  for (var i=0;i<4;i++){                 //定义for循环语句
    04      str=str+arr[i];                    //将各个数组元素连接在一起
    05  }
    06  document.write(str);                   //输出变量的值

运行结果为:

    abcd

(3)用数组对象名输出所有元素值

该方法是用创建的数组对象本身显示数组中的所有元素值。

例如,显示数组中的所有元素值。代码如下:

    01  var arr = new Array("a","b","c","d");  //定义数组
    02  document.write(arr);                   //输出数组中所有元素的值

运行结果为:

    a,b,c,d

【例7.01】某班级里有3个学霸,创建一个存储3个学霸姓名(张三、李四、王五)的数组,然后输出这3个数组元素。首先创建一个包含3个元素的数组,并为每个数组元素赋值,然后使用for循环语句遍历输出数组中的所有元素。代码如下:(实例位置:资源包\源码\07\7.01)

    01  <script type="text/javascript">
    02  var students = new Array(3);                                     //定义数组
    03  students[0] = "张三";                                            //为下标为0的数组元素赋值
    04  students[1] = "李四";                                            //为下标为1的数组元素赋值
    05  students[2] = "王五";                                            //为下标为2的数组元素赋值
    06  for(var i=0;i<3;i++){
    07     document.write("第"+(i+1)+"个学霸姓名是:"+students[i]+"<br>");  //循环输出数组元素
    08  }
    09  </script>

运行结果如图7.3所示。

图7.3 使用数组存储学霸姓名

7.3.2 数组元素的添加

在定义数组时虽然已经设置了数组元素的个数,但是该数组的元素个数并不是固定的。可以通过添加数组元素的方法来增加数组元素的个数。添加数组元素的方法非常简单,只要对新的数组元素进行赋值即可。

例如,定义一个包含两个元素的数组,然后为数组添加3个元素,最后输出数组中的所有元素值,代码如下:

    01  var arr = new Array("零基础学JavaScript","零基础学PHP");  //定义数组
    02  arr[2] = "零基础学Java";                                  //添加新的数组元素
    03  arr[3] = "零基础学C#";                                    //添加新的数组元素
    04  arr[4] = "零基础学Oracle";                                //添加新的数组元素
    05  document.write(arr);                                      //输出添加元素后的数组

运行结果为:

    零基础学JavaScript,零基础学PHP,零基础学Java,零基础学C#,零基础学Oracle

另外,还可以对已经存在的数组元素进行重新赋值。例如,定义一个包含两个元素的数组,将第二个数组元素进行重新赋值并输出数组中的所有元素值,代码如下:

    01  var arr = new Array("零基础学JavaScript","零基础学PHP");  //定义数组
    02  arr[1] = "零基础学Java";                                  //为下标为1的数组元素重新赋值
    03  document.write(arr);                                      //输出重新赋值后的新数组

运行结果为:

    零基础学JavaScript,零基础学Java
7.3.3 数组元素的删除

使用delete运算符可以删除数组元素的值,但是只能将该元素恢复为未赋值的状态,即undefined,而不能真正地删除一个数组元素,数组中的元素个数也不会减少。

例如,定义一个包含3个元素的数组,然后应用delete运算符删除下标为1的数组元素,最后输出数组中的所有元素值。代码如下:

    01  var arr = new Array("零基础学JavaScript","零基础学PHP","零基础学Java");//定义数组
    02  delete arr[1];                                              //删除下标为1的数组元素
    03  document.write(arr);                                        //输出删除元素后的数组

运行结果为:

    零基础学JavaScript,,零基础学Java

注意

应用delete运算符删除数组元素之前和删除数组元素之后,元素个数并没有改变,改变的只是被删除的数组元素的值,该值变为undefined。