一、改变原数组的方法
1.push()
push()方法向数组的末尾添加一个或多个元素,返回的是数组新长度
2.pop()
pop()方法删除数组的最后一个元素,返回的是删除的元素
3.shift()
shift()方法删除数组的头部元素,返回的是删除的元素
4.unshift()
unshift()方法向数组的开头添加一个或多个元素,返回的是数组新长度
5.splice()
splice()方法用于向数组中插入、删除或替换数组里的元素,替换和删除操作返回的是删除值,插入操作返回的是空数组
6.reverse()
reverse()方法用于反转数组的元素排序
7.sort()
sort方法对数组的元素进行排序,排序顺序可以是字母或数字,升序或降序
8.forEach()
forEach()方法调用数组的每个元素,并将元素传递给回调函数,对空数组不会执行回调
二、不改变原数组的方法
1.filter()
filter()方法创建一个新的数组,新数组中的元素是通过检查只当数组中符合条件的所有元素,它不会对空数组进行检测
2.concat()
concat()方法连接两个或多个数组,并返回结果;该方法没有改变现有的数组,但是会返回连接两个或多个数组链接的副本
3.slice()
slice()方法选取数组的一部分,并返回一个新数组;该方法不会改变元素数组,而是将截取到的元素封装到一个新数组中返回
4.join()
join()方法通过指定的分隔符将数组中的元素进行分割并转换成一个字符串,返回值是一个字符串
5.map()
map()方法按照原数组的顺序依次处理元素;不会对空数组检测。(map()和forEach()都可以用来循环,forEach()没有返回值,map()返回值会成一个新数组返回)
6.every()
every()方法检测数组元素的每个元素是否都符合条件,如果数组检测到有一个不满足,则整个表达式返回false,且剩余元素不再检测,如果所有元素都满足条件,则返回true
7.some()
some()方法同样检测,如果数组中检测到有一个元素满足,则整个表达式返回true,如果没有满足条件的元素,则返回false
8.indexOf()
indexOf()方法搜索数组中的元素,并返回它所在的位置,如果没找到元素,则返回-1
9.split()
split()方法用于把一个字符串分割成一个数组(join()方法用于把一个数组分割成一个字符串)
10.reduce()
reduce()方法接收两个参数,一个为回调函数,一个为初始赋值(可选),回调函数接收四个参数,(pre,item,index(可选),arr(可选))
例子:[0,1,2,3,4].reduce((pre,item,index,arr) => { return pre + item },10) //20
应用场景:
- 计算数组累积结果
- 计算数组中每个元素出现的次数
- 数组去重
- 数组扁平化 二维(多维)转一维
- 对象属性求和
11.reduceRight()
reduceRight与reduce参数一致,只不过他从数组的最右边开始执行
三、字符串与数组的一些同名操作方法
slice() concat() indexOf() LastIndexOf()