一、改变原数组的方法

删除数组元素:

1、pop 删除数组的最后一个元素,返回删除的数组

2、shift 删除数组的第一个元素,返回删除的数组

3、splice(1,3,’a1’,’b2’) 第一个位置开始,删除到元素的3个位置,添加a1,b2,返回删除的数组

扩展splice和slice的区别

splice 改变原数组 splice是返回更新后的数组长度 slice是返回新数组

slice 不改变原数组 slice(1,3)是从第1个位置开始,删除到3个元素后返回剩下的数组

添加数组元素

3、push 在数组最后面添加元素,返回更新数组后的长度

4、unshift 在数组最前面添加元素,返回更新数组后的长度

数组排序:

5、sort() 升序排列添加回调函数

var arr1=[2,1,57,9,45];

arr1.sort((num1,num2)=>num1-num2);

console.log(arr1); //[1,2,9,45,57]

数组反转:

6、reverse()

var arr1=[2,1,57,9,45];

arr1.reverse();

console.log(arr1); //[45,9,57,1,2]

二、不改变原数组的方法

1、forEarch:用于遍历不改变原数组

遍历数组全部元素,利用回调函数对数组进行操作,自动遍历数组.length次数,且无法break中途跳出循环

不支持return操作输出,return只用于控制循环是否跳出当前循环

2、map:返回条件符合的数组 更新数组

1、创建新数组

2、不改变原数组

3、return什么就输出什么新数组

4、回调函数参数,item(数组元素)、index(序列)、arr(数组本身)

5、使用return操作输出,会循环数组每一项,并在回调函数中操作

3、filter:过滤数组

1、创建新数组

2、不改变原数组

3、输出的是判断为true的数组元素形成的新数组

4、回调函数参数,item(数组元素)、index(序列)、arr(数组本身)

5、使用return操作输出,会循环数组每一项,并在回调函数中操作

4、includes() 是否包含某个值

只是判断数组是否含有某值,不用return,不用回调函数,输出一个true或false

5、find(): 查找符合条件数组

1、不创建新数组

2、不改变原数组

3、输出的是一旦判断为true则跳出循环输出符合条件的数组元素

4、回调函数参数,item(数组元素)、index(序列)、arr(数组本身)

5、使用return操作输出,会循环数组每一项,并在回调函数中操作

6、findIndex(): 查找符合条件元素的数组下标

1、不创建新数组

2、不改变原数组

3、输出的是一旦判断为true则跳出循环输出符合条件的数组元素序列

4、回调函数参数,item(数组元素)、index(序列)、arr(数组本身)

5、使用return操作输出,会循环数组每一项,并在回调函数中操作

7、some():
1、不创建新数组

2、不改变原数组

3、输出的是判断为true则马上跳出循环并return成true

4、回调函数参数,item(数组元素)、index(序列)、arr(数组本身)

5、使用return操作输出,会循环数组每一项,并在回调函数中操作

8、every()— —与some相反
1、不创建新数组

2、不改变原数组

3、输出的是判断为false则马上跳出循环并return成false

4、回调函数参数,item(数组元素)、index(序列)、arr(数组本身)

5、使用return操作输出,会循环数组每一项,并在回调函数中操作

本文转自 https://blog.csdn.net/wyhc2021/article/details/121211113,如有侵权,请联系删除。

比你想象中更强大的 reduce 以及对敲码的思考