JS —— 数组方法

71 阅读4分钟

前言: 在前端开发中,对数组的处理是很重要的一部分。

1. push() 功能:在数组的尾部添加元素,改变原数组 返回值:新数组长度

2. unshift() 功能:在数组的首部添加元素,改变原数组 返回值:新数组长度

3. pop() 功能:删除数组的最后一位,改变原数组(无参数) 返回值:被删除的数据

4. shift() 功能:删除数组的第一位数据,改变原数组(无参数) 返回值:被删除的数据

5. reverse() 功能:对数组进行排序,改变原数组 返回值:反转后的数组

6. sort() 功能:在数组的结尾添加元素,默认排序顺序是根据字符串Unicode码点 返回值:排序后的数组

语法:`arr.sort(function(a,b))`
用法
        从小到小:function(a, b) {return: a - b;} ,=> a - b > 0
        从大到大:function(a, b) {return: b - a;} ,=> b - a > 0

7. splice() 功能:在数组中添加、删除、替换数组中的元素

语法:`array.splice(index,count,item1,...,itemX)` 

index:添加/删除/替代元素的位置
count:需要删除的项目数量
item1,...,itemX:向数组添加的新项目
    
var arr = ["a", "b", "c", 2, 3, 6];
var rel = arr.splice(2, 1, "add1", "add2");
console.log(arr);   //原数组
console.log(rel);	// ["a","b","add1","add2",2,3,6]

8. join() 功能:用指定字符,将数组拼接成字符串(默认",") 返回值:返回新数组

9. concat() 功能:将多个数组或元素拼接形成一个新的数组 返回值:返回原数组

10. slice() 功能:裁切指定位置的数组 语法:array.slice(startIndex,endIndex)

startIndex:起始下标
endIndex:终止下标
**[ a ,b)能取到起始,取不到终止** 

11. valueOf() 功能:返回数的原始值

12. indexOf() 功能:查询某个元素在数组中第一次出现的位置 存在该元素,返回下标,不存在 返回 -1

13. forEach() 功能:遍历数组,每次循环中执行传入的回调函数,没有返回值

14. map() 功能:遍历数组, 每次循环时执行传入的回调函数,有返回值 返回值:反转后的数组

15. filter() 功能:遍历数组, 每次循环时执行传入的回调函数,回调函数返回一个条件,把满足条件的元素筛选出来放到新数组中

16. every() 功能:遍历数组, 每次循环时执行传入的回调函数,回调函数返回一个条件,全都满足返回true 只要有一个不满足 返回false

17. some() 功能:遍历数组, 每次循环时执行传入的回调函数,回调函数返回一个条件,只要有一个元素满足条件就返回true,都不满足返回false

18. reduce() 功能:遍历数组, 每次循环时执行传入的回调函数,回调函数会返回一个值,将该值作为初始值prev,传入到下一次函数中, 返回最终操作的结果

语法: arr.reduce(function(prev,item,index,array){}) 
prev: 初始值 (类似求和是 sum=0) 可以设置初始值( 参数),如果不设置初始值默认是数组中的第一个元素,遍历时从第二个元素开始遍历  
item: 每次循环的当前元素  
index: 每次循环的当前下标 
array :原数组

19. reduceRight() 功能:用法同reduce,只不过是从右向左

20. includes() 功能:用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。

21. find() 功能:遍历数组 每次循环 执行回调函数,回调函数接受一个条件 返回满足条件的第一个元素,不存在则返回undefined

22. findIndex() 功能:遍历数组,执行回调函数,回调函数接受一个条件,返回满足条件的第一个元素下标,不存在则返回-1

23. fill() 功能:用给定值填充一个数组

24. flat() 功能:用于将嵌套的数组"拉平",变成一维的数组。该方法返回一个新数组,对原数据没有影响。

注意:默认拉平一次 如果想自定义拉平此处 需要手动传参 ,如果想全都拉平 传 Infinity
var arr = list.flat(); // 默认拉平一次

var arr = list.flat(2); // 拉平2次