JavaScript中数组
JS中创建数组的方法:
var 数组名=new Array();
var 数组名=[];
在创建数组的时候可以通过在()或者[]里添加数据来直接为数组赋值
如:var 数组名=[1,2,3];
但是用方法1在创建数组的时候,在括号里面只添加一个整数,则这个整数就不会当做数据添加到数组里,而是当做数组的长度,即此时括号里的单个整数用来指定数组长度,创建一个定长数组
数组也是一种对象,他和普通对象的区别就在于:
普通对象的属性名由字符串组成,然后数组也是有属性的,即存储在数组中的数据,这些数据在数组中被称作元素,数组这种对象他的属性名用索引来替代。
索引:即从0开始的整数
数组的长度
获得数组的长度
用数组对象的length属性
简单点说,length这个属性返回值就是数组最大索引值+1的数
比如我们创建一个不连续数组
不连续数组就是如下图,不按索引递增的顺序赋值
这里我们的length值就是11
注意:平时要尽量不用不连续数组,因为不连续数组并不是说赋值了才会在数组中开辟空间,而是会开辟最大索引值加一个空间
如下:
修改数组长度
数组的length这个属性可以通过赋值来修改数组长度
当设置的长度大于数组原数据数量
多出来的部分会由空字符来占据
当设置的长度小于数组原数据数量
原数组尾部多出的数据会被去除
一个小小的技巧:
因为length返回的值总是原数组最大索引+1,所以我们可通过这个性质来每次都往数组最后添加数据
即用
数组名.length
来当做数组索引值向数组中添加数据
数组的一些操作函数
PUSH函数(向数组末尾添加数据)
**作用:**用于向数组末尾添加数据,同时返回数组长度
unshift函数(向数组开头添加元素)
向数组开头添加一个或多个元素,并返回数组长度
可添加多个
POP函数(删除数组中最后一个元素)
作用:
删除数组中最后一个元素
删除数组开头的元素(shift函数)
获取指定索引到指定索引之间的元素之slice()方法
可以用来从数组提取指定元素
需要传入两个参数数组名.slice(开始截取的索引值,结束截取的索引)
该方法不会改变元素数组,而是将截取到的元素封装到一个新数组中返回参数:
截取开始的位置的索引,包含开始素引,截取结束的位置的索引,不包含结束索引
当第二个数值为负值,则负号代表从结尾向前数,数值的绝对值代表第几个
第二个参数可以省略不写,此时会截取从开始索引往后的所有元素-索引可以传递一个负值,如果传递一个负值,则从后往前计算
删除指定索引到指定索引之间的元素之splice()方法
可以用于删除数组中的指定元素
使用splice()会影响到原数组,会将指定元素从原数组中删际并将被删除的元素作为返回值返回
被删除的值会存在一个新的数组里面返回
其实他可以有两个以上的参数:
第一个,表示开始位置的索引
第二个,表示删除的数量
第三个和之后的,这些元素会插入到开始位置
JS中专门用来遍历数组的方法之forEach()方法
作用:
遍历数组
用法:
forEach()方法
这个方法需要在括号中传入一个函数,比如数组名.forEach(函数名)
,对这个函数没什么要求,只要是个函数就行
但是这样很麻烦,所以我们一般直接在括号里面创建一个匿名函数,即forEach(function(){});
,这个函数会被浏览器调用,我们只负责创建
这个函数叫做回调函数
,即我们只负责创建,然后由浏览器调用
过程:
当数组中有几个元素(最大索引值),就会调用这个函数几次,同时,每次调用,forEach还会向函数中传入三个参数,即(元素值,索引值,原数组)
如下:
也就有三个参数,多的没有
无了