前言
在我们开发过程中都会遇到数组,而今天我们来聊聊数组中的方法以及在不同的场景下我们如何去使用,看看大家还记得几个。
1.push
push()是我们平时写代码经常碰到的,它可以再数组的末尾添加一个或者多个元素
如下示例:
2.pop
pop()移除并返回数组末尾的元素,这个元素大家都很熟悉但是在开发上大家更比较常用splice()进行删除操作,pop的灵活性没有splice好,只能指定数组的末尾。
3.unshift
unshift()在数组开头添加一个或多个元素
4.shift
shift()移除并返回数组开头的元素
5.concat
concat()合并两个或者多个数组,并返回新的合并后的数组,并且不会修改原始数组
6.slice
slice() 从数组中提取指定位置的元素,返回一个新的数组,不会修改原始数组
7.splice
splice()主要是对数组进行操作,其中包括删除、添加、替换等,会修改原始数组
- splice(i) i作为第一个参数,它为数组索引(下标),单只有一个i的时候,表示删除数组中下标i及i之后的所有元素,,返回删除的元素,原始数组会修改.
- 其中参数i为整数,i分为正数(包括0)以及负数,正数时删除索引为i及i之后的元素,负数时则从数组末尾往前开始计算
- splice方(i,j) 当splice方法参数有两个的时候,两个参数必须均为整数,表示从数组索引为i开始删除,一共删除j个元素,返回删除的元素,原始数组会修改
- splice方(i,j,k1,k2,k3,k4) 当splice方法参数有三个或者三个以上的时候,i表示索引(下标),j表示删除个数,k1,k2,k3...为删除相应元素后要添加的元素,返回删除的元素,原始数组会修改
8.indexOf
indexOf() 查找指定元素在数组中的第一次出现索引,如果不存在则返回-1
9.lastIndexOf
lastIndexOf() 从数组末尾开始查找指定元素在数组中第一次出现的索引,如果不存在则返回-1
10.includes
includes() 检查数组是否包含指定元素,返回一个布尔值
11.join
join()将数组中的所有元素转化为字符串,并使用指定的分隔符连接它们
12.reverse
reverse() 点到数组中元素的顺序,会修改原始数组
13.sort
sort() 对数组中的元素进行排序,会修改原始数组
- 不带参数时候,将按照按照字母顺序排序,通俗来说就是根据自负编码的顺序进行排序
- 带参数时,arr.slot(a,b),a=b或a>b,返回0或正值,不做改变;a<b,返回负值,说明后面的数小于前面的数,调换位置,如下图示实例
14.filter
filter() 创建一个新数组,其中包含符合条件的宿所有元素
15.map
map() 创建一个新数组,其中包含对原始数组中的每个元素进行处理后的结果,且不会对空数组进行检测,不会修改原始数组
16.reduce
reduce()将数组中的元素进行累计操作,返回一个单一的值
17.forEach
forEach()将数组中的每个元素执行提供的函数,该方法不直接修改原始数组,但回调函数可以修改它
- forEach支持三个参数,第一个为遍历的数组内容,第二个为对应的索引,第三个则是数组本身
总结
数组方法有很多,在平时开发中我们更常用就push、splice、indexOf、filter、map这几个,其他方法我们或许不常用,但是一定要有所了解,splice能代替push、pop、unshift等,但是面试问你数组处理的时候不可能只回答一个splice
第一次写文章,写的不好地方请谅解,如果有老铁有需要补充或者错的地方的可以指正下!