前言: 在前端开发中,对数组的处理是很重要的一部分。
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次