数组:
可以理解为一个大容器,像变量一样可以存储值或其他变量的值,数组的数据类型是Object, 但是数组可以存储多个值或变量,并且他们在数组中是有顺序的。 数组所存储的值或变量称为数组的元素.元素与元素之间需要用”,“号隔开
数组属性:length,返回数组当前数组的长度,也就是数组中有多少个元素
数组的创建:
1、通过系统的构造函数Array()来创建数组对象
var arr =new Array();//创建一个空数组
2、字面量创建
var arr2 =[];//创建一个空数组
3、创建一个长度为5的数组,但是元素值都是null
var arr3 =new Array(5);
4、创建拥有指定元素的数组
var arr4 =new Array("hello","world");
var arr5 =["hello","world"];
数组元素的访问:
通过取下标(索引),数组中下标为0的元素就是数组的第一个元素
var str=arr5[0];//“hello”
为元素赋值:arr[index]=value; arr5[1]="rose"
可以通过上面的这种方式为数组增加元素,但增加必须按照下标顺序增加,不能跳跃增加,如果下标不连续,会在缺漏的位置上自动补充empty()。
arr5[3]="bye" --> arr5=["hello","rose","empt","bye"]
数组的常用操作方法
1、push():向指定数组的末尾添加元素(可以添加多个)
var list=["苹果","橘子","香蕉","西瓜","樱桃"];
list.push("荔枝","蓝莓");
2、pop() : 删除指定数组末尾的元素(每次调用只能删除末尾的一个),pop()没有参数
list.pop();
3、unshift() : 向指定数组的首位添加元素
list.unshift("蓝莓","草莓")
4、shift() : 删除指定数组的首位元素,每次调用都只删除首位的一个元素
5、splice() : 向(从)数组中添加(删除)元素,然后返回被删除的元素
splice方法用于删除原数组的一部分成员,并可以在被删除的位置添加入新的数组成员,返回值是被删除的元素。注意,该方法会改变原数组,根据参数的不同,可以对数组进行添加或删除操作
注意点:
起始位置如果是负数,就表示从倒数位置开始删除。
如果只是单纯地插入元素,splice方法的第二个参数可以设为0。
如果只提供第一个参数,等同于将原数组在指定位置拆分成两个数组。
1-添加元素:list.splice(1,2,'芒果')
第一个参数表示从那个下标位置开始添加,第二个参数为0表示添加否则为替换,第三个参数表示要添加的元素可以存在多个
2-替换元素:list.splice(3,4,'榴莲','山竹','甘蔗','巴拉');
第一个位置参数表示从那个下标位置开始替换,第二个参数表示替换的长度,第三个表示用什么替换
3-删除元素:list.splice(3,4);
第一个参数表示删除开始位置,第二个参数表示删除长度
6、concat() : 连(拼)接两个或多个数组(怕其他的数组的元素添加到指定数组的末尾),不对原来的数组进行操作,而是会返回一个操作后的新数组,连接多个
7、join():var str=newList.join("-");
将指定数组转化为字符串,方法中的参数实际就是讲数组中的元素拼接成字符串的连字符,不填写参数是默认转化为一个字符串,不用符号连接。
8、indexOf() : 用来判断数组中是否存在某个元素,如果存在,返回该元素的下标,如果不存在返回-1
9、sort() ; 按升序排列数组,排序后,原数组将被改变。
10、toString() ; 数组转化成字符串
11、reverse():方法用于颠倒数组中元素的顺序,返回改变后的数组。注意,该方法将改变原数组
12、slice() :方法用于提取原数组的一部分,返回一个新数组,原数组不变。
它的第一个参数为起始位置(从0开始),第二个参数为终止位置(但该位置的元素本身不包括在内)。如果省略第二个参数,则一直返回到原数组的最后一个成员,slice没有参数,实际上等于返回一个原数组的拷贝,如果slice方法的参数是负数,则表示倒数计算的位置,如果参数值大于数组成员的个数,或者第二个参数小于第一个参数,则返回空数组。
二维数组
二维数组:本质还是数组,只不过数组的元素还是数组,如何获取二维数组中具体的某一个元素,例如“i”。从数组中获取元素就是取下标,如何获取二维数组中的每一个元素(遍历二维数组)—>双层for循环