当一个程序需要用到多个数据的时候,这时我们就需要用到数组来将这些数据集合起来,以便后期调用。接下来就开始学习吧!!
数组的定义方法1 、第一种数组声明方式:var 数组名 = [元素1, 元素2, .....],这种定义方式比较常用。例如:
var arr=[1,2,3]; var arr1=[\'字符串\',1,null];arr -- 变量名
2、第二种数组声明方式:var 数组名 = new Array(元素1, 元素2, 元素3, ........),这种方式是系统内部定义数组的一种方式。例如:
var arr=new Array(1,2,3); var arr1=new Array(\'字符串\',1,null);这种方式还可以这样定义,如下:
var arr=new Array(3); arr[0]=1; arr[1]=2; arr[2]=3; console.log(arr);//arr=new Array(1,2,3)3、两种声明方式的区别
当两种定义方式只有一个值时,分别表达的含义如下:
var arr=[10];表示数组长度为1, 数组元素为10,也就是说这个数组只有 10这一个数据。
var arr = new Array(10);表示的是数组长度为10, 数组元素为空,取值取到的是undefined。
数组的三个要素、取值与赋值1、数组的三个要素:
下标:用来记录每个元素的位置, 用来取值和赋值
这里需要 注意:JavaScript中数据的下标从 0 开始
元素:数组中的数据
长度:数组中元素的个数。获取数组长度可以使用数组的一个属性 length,用法:数组名.length,它返回的是一个number类型的数据,如下:
var arr=[1,2,3]; arr.length;//32、数组的取值:
数组的取值是 数组名[下标]。
var arr=[1,2,3]; arr[0];// 1 arr[1];// 2 arr[2];// 3如果下标在最大下标范围内, 就取到对应的元素值,如果超过最大下标, 取到的值是undefined。
var arr=[1,2,3]; arr[0];// 1 arr[1];// 2 arr[2];// 3 arr[3];// undefined这里的数组长度为3,但下标是从 0 开始的,当我们要获取数组中的第4个数据时,它超过了我们定义的数组的长度,程序执行时无法找到第4个数据,会返回 undefined。
取数组第一个值,数组名[0]。取最后一个值,数组名[数组名.length - 1]。
var arr=[1,2,3,4]; arr[0];// 1 arr[arr.length-1];// 33、数组的赋值:
数组名[下标] = 值。
如果下标没有超过最大下标,是修改数组中的值。如下:
var arr=[1,2,3,4]; arr[0]=5; console.log(arr[0]);//5注意:原本 arr[0]=1 ,但是在下面 arr[0]=5 相当于给 arr[0] 重新赋值,所以 arr[0]就被重新赋值为 5,即arr[0]=5。
如果超过最大下标,向数组中添加元素。如下:
var arr=[1,2,3,4]; arr[4]=5; console.log(arr);//[1,2,3,4,5]如果添加的元素下标不是连续的,它就是个不连续数组。如下:
var arr=[1,2,3,4]; arr[5]=5; console.log(arr);//[1,2,3,,5]数组打印出来如下:
从上面的例子我们只给数组添加了一个arr[5]=5,添加了一个元素获取长度却是6。其实arr[5]=5你是给第6个元素赋了值,前面没有赋值的元素为空,你写了arr[5]=5之后,数组就变成了上图所示:arr=[1,2,3,4,,5]。 数组的常用方法
1、join():将数组的所有元素放入一个字符串,通过分隔符进行隔开,不会改变原来的数组。 如下:
var arr=[1,2,3,4]; var str=arr.join(\'-\'); console.log(str);//"1-2-3-4" console.log(typeof str);//string注意:join()可以添加一个参数,这个参数表示自己想用的分隔符,默认为逗号,这里我用的是 \'-\'。
2、sort(): 对数组中的数据进行排序,默认为升序,也就是数据从小到大排列,并且返回排过序的新数组,会改变原来的数组。这个排序方法是针对字符的排序,所以当数组用到这个排序方法时,需要先将数组中的数据用toString()方法转为字符串,然后在进行比较。