你必须要知道的数组API

86 阅读3分钟

1.push():从数组的尾部添加一个或多个元素,会修改原数组,返回值是修改后的数组长度

push.png

2.unshift():从数组的头部添加一个或多个元素,会修改原数组,返回值是修改后的数组长度

unshift.png

3.pop():从数组的尾部删除一个元素,会修改原数组,返回被删除的元素

pop.png

4.shift():从数组的头部删除一个元素,会修改原数组,返回被删除的元素

shift.png

5.slice(start,end):裁切数组,start表示开始裁切的元素下标,end表示结束裁切的元素下标(end裁切不到),实际范围是end-1,不会修改原数组,返回值是被裁切的数组

5.1只有一个参数(start)

slice1.png

5.2有两个参数(start,end)

slice.png

5.3如果开始裁切的参数是负数,那就用数组的长度+负数参数

slice2.png

6.splice(start,length,item):start表示开始裁切的元素下标,length表示裁切的长度(裁切的长度可以为0),item表示要添加到数组的新元素,会修改原数组,返回值是被裁切的数组

6.1只有一个参数(start)

splice1.png

6.2有两个参数(start,length)

splice2.png

6.3有三个参数(start,length,item)

splice.png

6.4如果第一个开始裁切的参数为负数,也可以用数组的长度+负数参数

splice3.png

7.concat():用于连接两个或者多个数组,不会修改原数组,返回值是连接后的新数组

concat.png

8.reverse():颠倒数组中元素的位置,会修改原数组,返回值是修改后的数组

reverse.png

9.join('连接符'):将数组中的元素拼接成一个字符串,不会修改原数组,返回值是修改后的字符串

join.png

10.sort():对数组中的元素进行排序,会修改原数组,返回值是修改后的新数组

sort.png

11.toString():将数组中的元素转化为字符串,不会修改原数组,返回值的是修改后的字符串

toString.png

12.map():映射数组,根据条件将数组中的每一项数据进行处理,循环执行次数等于数组长度,不会修改原数组,返回的是修改后的新数组

map1.png

13.filter(): 筛选数组,根据条件将符合条件的元素放入新数组中,循环执行次数等于数组长度,不会修改原数组是,返回值是修改后的新数组

filter.png

14.forEach():遍历数组,调用数组的每个元素,并将元素传递给回调函数,循环执行次数等于数组长度

forEatch.png

15.findIndex():寻找下标,进行返回,循环执行次数不等于数组长度,全部遍历都没找到,就返回-1,找到就返回当前元素的下标(注意点:数组中的元素要是引用类型)

findIndex.png

16.some():判断数组中是否有满足条件的元素(逻辑或||),循环执行次数不等于数组长度,找到满足条件的元素,循环结束,此时some的返回值也是true,没有找到满足条件的元素,如果循环执行完毕时还是false,最终some的返回值也是false

some.png

17.every(): 判断数组是否所有的元素都满足条件(逻辑与&&),当前元素满足条件,继续判断,如果循环执行完毕还是true,则every返回值就是true,当前元素不满足条件,every的返回值也是false

every.png

18.reduce():求数组累加和,为每一个元素执行一次回调,并最终返回最后一次回调结果,回调函数一般有三个参数(sum,item,index), sum:上一次回调return返回值,item:当前元素,index:当前下标(在回调函数中可以省略不写),sum初始值一般给0,如果不给值,遇到空数组reduce就会报错

reduce.png