数组基本操作可以归纳为 增、删、改、查,需要留意的是哪些方法会对原数组产生影响,哪些方法不会。
下面对数组常用的操作方法做一个归纳
增
下面前三种是对原数组产生影响的增添方法,第四种则不会对原数组产生影响
-
push()
-
unshift()
-
splice()
-
concat()
push()
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
unshift()
unshift() 向数组的开头添加一个或更多元素,并返回新的长度。
splice()
从数组中删除元素,返回删除的数组;传两个参数:第一个参数表示开始位置,第二个表示删除长度
concat()
concat()方法 连接两个或更多的数组,并返回全新的数组;不会影响原数组。
删
下面三种都会影响原数组,最后一项不影响原数组:
-
pop()
-
shift()
-
splice()
-
slice()
pop()
删除数组的最后一个元素并返回删除的元素。同时减少数组的length
值
shift()
shift()
删除并返回数组的第一个元素;同时减少数组的length
值
splice()
从数组中删除元素,返回删除的数组;传两个参数:第一个参数表示开始位置,第二个表示删除长度
slice()
slice() 选取数组的一部分,并返回一个新数组;传两个参数,分别表示:开头位置和结束位置;能取到开头位置,但是取不到结束位置;不会影响原数组。
改
即修改原来数组的内容,常用splice
splice()
传入三个参数,分别是开始位置,要删除元素的数量,要插入的任意多个元素,返回删除元素的数组,对原数组产生影响
查
即查找元素,返回元素坐标或者元素值
-
indexOf()
-
includes()
-
find()
indexOf()
返回要查找的元素在数组中的位置,如果没找到则返回-1
includes()
返回要查找的元素在数组中的位置,找到返回true
,否则false
find()
返回第一个匹配的元素
二、排序方法
数组有两个方法可以用来对元素重新排序:
-
reverse()
-
sort()
reverse()
顾名思义,将数组元素反向排列
sort()
sort()方法接受一个比较函数,用于判断哪个值应该排在前面
三、转换方法
常见的转换方法有:
join()
join() 方法接收一个参数,即字符串分隔符,返回包含所有项的字符串
四、迭代方法
常用来迭代数组的方法(都不改变原数组)有如下:
-
some()
-
every()
-
forEach()
-
filter()
-
map()
-
find()
-
findIndex()
some()
some方法,检查数组中是否包含指定规则的数据,有返回true,没有返回false
every()
every方法,检查数组中的数据是否都满足指定规则,满足返回true,否则返回false
forEach()
forEach用于遍历整个数组,它通过回调函数的形式,返回数组中的每一个元素和元素对应的位置。
filter()
filter方法,有根据指定的规则,过滤数组中的元素,并返回新的数组
map()
map方法,用于将原始数组根据特定的规则,返回一个全新的数组
find()
find方法,用于根据指定的规则,返回数组中的第一个数
findIndex()
findIndex方法,用于根据指定的规则,返回数组中的第一个元素的位置,如果没有返回-1