首页 理论教育 JavaScript数组的使用

JavaScript数组的使用

时间:2023-10-18 理论教育 版权反馈
【摘要】:JavaScript中没有提供像其他语言具有明显的数组类型,但可以通过function定义一个数组,并使用new对象操作符创建一个具有下标的数组,从而可以实现任何数据类型的存储。如果你行了解跟多的相关操作方法,可以去参考完整的JavaScript array对象参考手册,它将提供给你更多实用的函数,方便你对数组的操作。

JavaScript数组的使用

JavaScript中没有提供像其他语言具有明显的数组类型,但可以通过function定义一个数组,并使用new对象操作符创建一个具有下标的数组,从而可以实现任何数据类型的存储。

1.数组(Array)对象

在JavaScript中,数组是一种特殊的变量,它可以一次保存多个值。

在我们定义同一性质的属性时,如果这种属性的值太多,为了使我们的程序更加简洁,更利于我们对其中的某个值进行操作,我们最好使用JavaScript提供的数组对象,定义相关数组,这样将极大方便我们的操作。

例如我们要记录一个班中的所有学生的姓名,按照常规定义变量的方法,我们定义的格式如下:

Student1="张三";

Student2="李四";

Student3="王五";

……

如果这个班有60名同学,那我们的工作量将是巨大的,而如果我们采用数组的形式,就会变得相对简单,我们只需定义一个数组,然后将学生的姓名一一插入到数组中即可,当我们需要对其中的某个同学姓名进行修改,只需根据数组的下标,找到该同学,修改即可。那么我么如何定义和操作数组呢?下面我们将详细的介绍。

2.创建数组实例

数组对象用来在单个变量中存储一系列复杂的值。对数组的定义有3中常用的方式。第一种方式是我们的常规定义方式,例如,我们定义一个名为myStudent的数组对象,并对其中的三个元素赋值,具体操作如下:

var myStudent=new Array();

myStudent[0]="张三";

myStudent[1]="李四";

myStudent[2]="王五";

第二种方式是我们最常用的精简模式,它定义方式简单,赋值方便,同样是上面的例子,我们用精简模式来实现,代码如下:

var myStudent=new Array("张三","李四","王五");是不是比我们上面的定义方式更加简单?精简模式是我们在编程时大力提倡的模式,而我们下面所讲的第三种方式,由于它的有一定的局限性,为了避免出现不必要的麻烦,一般我们不会使用,我们称它为字符数组模式,同样是上面的例子,可以这样定义:

var myStudent={"张三","李四","王五"};需要注意的是,如果你在数组中指定了数值型或true/false值,则变量类型将是数值型或布尔型,而不是字符型。

在数组定义完成后,我们就可以访问数组了。如果我们需要访问特定的数组元素,就可以输入此元素所在的下标,直接输出该元素,需要明确的是数组的下标是从0开始的。例如要输出某一同学的名字,我们可以这样编写:

document.write(myStudent[2]);

执行的结果是输出第三个学生的名字:王五。

如果你要修改此值,方式很简单,只要将一个新值插入到该元素所在的位置即可。例如我们要修改第三个学生的名字,可以这样编写:(www.xing528.com)

myStudent[2]= "赵六";

document.write(myStudent[2]);

输出结果为:赵六。

在实际运用中,我们常常需要遍历整个数组,在JavaScript中遍历数组我们一样可以使用常用的for循环,通过循环变量的增减,来遍历整个数组。另外我们也可以是用我们学过的for…in语句循环遍历数组元素。要遍历我们上面定义的数组,用for…in遍历,程序如下:

for(x in myStudent)

{

}

document.write(myStudent[x]+ ”
”);

输出结果如下:

张三

李四

王五

另外JavaScript中还提供了几个操作数组的函数,我们常用的函数如下:

join()——将数组中的所有元素合并到一个字符串中;

pop()——移除数组的最后一个元素;

push()——在数组的最后插入一个新元素

reverse()——颠倒数组元素的排列顺序;

shift()——移除数组的第一个元素;

slice()——从一个数组中选择元素;

sort()——对数组进行排序。

如果你行了解跟多的相关操作方法,可以去参考完整的JavaScript array对象参考手册,它将提供给你更多实用的函数,方便你对数组的操作。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈