JavaScript 语法:数组的定义及其常用属性与方法

当一个程序需要用到多个数据的时候,这时我们就需要用到数组来将这些数据集合起来,以便后期调用。接下来就开始学习吧!!

在这里插入图片描述

数组的定义方法

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;//3

在这里插入图片描述

2、数组的取值:

数组的取值是 数组名[下标]。

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];// 3

3、数组的赋值:
数组名[下标] = 值。

如果下标没有超过最大下标,是修改数组中的值。如下:

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()方法转为字符串,然后在进行比较。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwjdsg.html