零基础学JavaScript数组.ppt
第7章 数组,数组是在JavaScript中使用得比较多的一种数据类型,在本章里将会介绍数组的一些基本概念以及数组对象的属性和方法。,7.1 数组的介绍,数组是JavaScript中的一种复合型数据。数组是一些数据的集合,并且数组中的数据都有一个编号,通过编号可以引用这些数据。,7.1.1 数组,顾名思义,数组(array)就是一些数据的组合。在JavaScript中,数组是一种基本的数据类型,该数据类型是复合型的,即一个数组中可以包含多个元素。可以将数组想象为一个个的格子,每个格子中都能存放一个元素。由于JavaScript是一种无类型的语言,所以在数组中的每个元素的类型可以不相同。数组中的元素类型可以是数字型、字符串型、布尔型等,甚至也可以是一个数组。,7.1.2 数组元素,数组是数组元素(element)的集合,如图7-1中,每个格子里所存放的就是数组元素。数组为每个数组元素都设置了一个编号,该编号称为下标。通过下标可以存取数组元素值。数组的下标从0开始编号,例如以下代码可以存取数组中的第1个元素值。arr0,7.1.3 多维数组,在JavaScript中并不支持多维数组,但是JavaScript中数组元素可以是任何类型的数据,包括数组。假设arr数组中的第2个元素是数组,那么如果要获取数组中的第2个元素,可以使用以下语句:var myArr=arr1;,7.2 定义数组,在JavaScript中,数组也是一种对象,这种对象称之为数组对象。因此,定义数组时,也可以使用构造函数。JavaScript中定义数组的方法以下4种。,7.2.1 构造函数,数组对象的构造函数有以下3种,因此可以用3种不同的方式来定义数组:new Array()new Array(size)new Array(element1,element2,),7.2.2 定义一个空数组,使用不带参数的构造函数可以定义一个没有元素的空数组。可以在定义了空数组之后再设置数组中的元素。(具体内容请参照书。),7.2.3 通过指定数组长度定义数组,使用“new Array(size)”构造函数可以在定义数组的同时指定数组元素的个数。但是此时并没有为数组元素赋值,所有数组元素的值都为undefined。(具体内容请参照书。),7.2.4 通过指定数组元素定义数组,使用“new Array(element1,element2,)”构造函数可以在定义数组的同时指定数组元素的值。其中参数列表中的数据依次为数组中第1个元素、第2个元素的值。(具体内容请参照书。),7.2.5 直接定义数组,在JavaScript中还有一种不使用构造函数来定义数组的方式,这种方式直接将数组元素放在一个方括号中,并且元素与元素之间使用逗号隔开。(具体内容请参照书。),7.3 数组元素,数组是数据的集合,这些数据称为数组的元素。在对数组进行的操作中,最重要的操作可以说是对数组元素的存取操作。,7.3.1 存取数组元素,在JavaScript中,可以通过数组元素存取运算符()来存取数组元素。在运算符的左侧是数组的名称,而在之间是数组的下标。在某些语言中,数组的第1个元素的下标为1,而在JavaScript中数组的第1个元素的下标为0。(具体内容请参照书。),7.3.2 添加数组元素,在JavaScript中,可以为已经定义好的数组添加元素,无论该数组是使用什么方法定义的数组。使用以下方法定义的数组是一个空数组,该数组只有添加了数组元素之后,才能存储数据。(具体内容请参照书。),7.3.3 删除数组元素,数组元素一旦被定义,就不能被删除。使用delete运算符只能删除数组元素的值,使其回复到未赋值的状态,即元素值为undefined,而不能删除一个数组元素,不能让数组中的元素减少一个。(具体内容请参照书。),7.3.4 数组元素的个数,数组元素的个数,又称为数组的长度。使用数组对象的length属性可以获得数组的长度。该属性的语法代码如下所示:array.length,7.4 数组的方法,数组是JavaScript中的一种基本数据类型,同时也是JavaScript中的一个内置对象。使用数组对象的方法,可以更加方便地处理数组中的数据。,7.4.1 toString()方法:将数组转换为字符串,使用toString()方法可以将数组中的元素转换为字符串,元素与元素之间用逗号隔开。(具体内容请参照书。),7.4.2 join()方法:将数组元素连接成字符串,使用join()方法可以将数组元素连接成字符串,其语法代码如下所示:join()jion(str)(具体内容请参照书。),7.4.3 push()方法:在数组尾部添加元素,使用push()方法可以在数组的尾部添加元素,数组的长度会因此而增加。push()方法的语法代码如下所示:push(value,)(具体内容请参照书。),7.4.4 concat()方法:添加元素并生成新数组,concat()方法也可以在一个数组的尾部添加元素。与push()方法不同的是,push()方法是在原数组的尾部添加元素,原数组中的元素和长度都会改变,而concat()方法是在一个数组的尾部添加元素,并返回一个新数组,而原数组中的元素和长度并不改变。concat()方法的语法代码如下所示:concat(value,)(具体内容请参照书。),7.4.5 unshift()方法:在数组头部添元素,push()方法可以在数组的尾部添加元素,而unshift()方法与push()方法相反,unshift()方法的作用是在数组的头部添加元素,其语法代码如下所示:unshift(value,)(具体内容请参照书。),7.4.6 pop()方法:删除并返回数组的最后一个元素,除了可以为数组添加元素之外,JavaScript中的数组对象中,还有删除数组元素的方法。其中pop()方法的作用就是删除数组中的最后一个元素,并将该元素返回,此时数组的长度会减少。(具体内容请参照书。),7.4.7 shift()方法:删除并返回数组的第一个元素,shift()方法与pop()方法相反,pop()方法是用于删除数组的最后1个元素,而shift()方法是删除数组的第1个元素,并返回该元素的值。使用shift()方法也使原数组的长度减1,并将原来数组中的余下的所有元素都向前移1位。(具体内容请参照书。),7.4.8 splice()方法:删除、替换或插入数组元素,pop()方法只能删除数组中的最后1个元素,shift()方法只能删除数组中的第一个元素,如果想要更灵活地删除数组中的元素,可以使用splice()方法。使用splice()方法可以删除数组中任何位置的元素,也可以替换数组中任何位置的元素,还可以在数组的任何位置插入元素。其语法代码如下所示:splice(start,count,value,)(具体内容请参照书。),7.4.9 slice()方法:返回数组中的一部分,使用splice()方法可返回数组中被删除或被替换的一部分,但splice()方法会影响原数组中的元素,如果只要获取数组中的某一个部分的数据,可以使用slice()方法,该方法可以返回数组中某一连续部分的元素,而不影响原数组中的数据。slice()方法的语法代码如下所示:slice(start,end)(具体内容请参照书。),7.4.10 reverse()方法:颠倒数组中的元素,使用reverse()方法,可以将数组中的元素颠倒过来,原来是在第1位的元素将排到最后1位,而最后1位的元素将排到第1位。reverse()方法是在原数组的基础上颠倒元素次序的,因此会改变原数组的数据。(具体内容请参照书。),7.4.11 sort()方法:将数组元素排序,reverse()方法可以将数组中的元素颠倒过来,但不能将数组中的元素进行排序,如果要将数组中的元素进行排序,就需要使用到sort()方法。sort()方法是在原数组的基础上排序的,会影响原数组中的数据,其语法代码如下所示:sort()sort(order)(具体内容请参照书。),7.4.12 toLocaleString()方法:转换为当地字符串,使用toString()方法可以将数组转换成字符串,并用逗号分隔每个元素的值。toLocaleString()方法与toString()方法类似,但该方法是根据本地计算机的地区设置来转换每一个元素的值。例如元素为日期型,则使用本地时间区表示该元素值;元素为数字型,也会根据本地规范进行格式化,此时有可能会影响到小数点或千分位分隔符的符号。(具体内容请参照书。),7.5 小结,数组是在JavaScript中使用得比较多的一种数据类型。本章里主要介绍了数组、数组的定义、数组元素赋值方法,以及数组对象的方法和属性。下一章将会介绍JavaScript对象模型与事件处理。,