1.map方法
作用: 映射数组(遍历数组,修改数组中的每一个元素)
特点:
a.回调函数执行次数==数组长度
b.回调函数内部的return
- return 新数组的元素
- 没有return 返回值都是undefined
c.map方法的返回值
-
返回映射之后的新数组
let arr = [81, 90, 100, 23, 50] //需求:找出偶数的元素 let res = arr.filter(item => item % 2 == 0) console.log(res)
2.filter方法
作用:筛选数组,把符合筛选条件的元素添加到新数组中
特点:
a.回调函数执行次数==数组长度
b.回调函数的return
- return true: 符合筛选条件,放入新数组中
- return false: 不符合筛选条件,不放入数组
c.filter方法的返回值
- 返回筛选之后的新数组
let arr = [81, 90, 100, 23, 50]
//需求:找出偶数的元素
let res = arr.filter(item => item % 2 == 0)
console.log(res)
3.forEach方法
作用:遍历数组,是高级阶段的for循环
特点:
a.回调函数执行次数==数组长度
b.回调函数内部的return
- 没有返回值
c.forEach方法的返回值
- 没有返回值
let arr = [45,60,88,90,20]
arr.forEach((item,index)=>{
console.log(item,index)
})
4.some方法
作用: 判断数组中是否有符合条件的元素(逻辑或||)
特点:
a.回调函数执行次数!=数组长度
b.回调函数内部的return
- return true: 循环结束,找到了满足条件的元素
- return false: 循环继续,没找到,继续循环,要是一直没找到,就返回false
c.some方法的返回值
- true: 有符合条件的元素
- false: 没有符合条件的元素
let arr = [10, 20, 50, 60, -70, 80]
//需求 判断数组中有没有负数
let res = arr.some(item => item < 0)
console.log(res)
5.every方法
作用:判断数组中的所有元素是否都满足条件(逻辑与&&) 常用于开关思想
特点:
a.回调函数执行次数!=数组长度
b.回调函数内部的return
- return true: 循环继续,如果满足条件所有元素全部遍历还是true,则结果就是true
- return false: 循环结束,只要找到不满足条件的元素,循环立即结束,最终结果为false
c.every方法的返回值
- true: 数组中所有元素都满足条件
- false: 数组中有不满足条件的元素
let arr = [10, 20, -50, 60, 70, 80]
//需求 检测数组的所有元素是不是都是正数
let res = arr.every(item => item > 0)
console.log(res)
6.findIdex方法
作用:查找元素的下标
数组的findIdex和indexOf异同点:
相同点: 功能一致,都是查找元素的下标.有则返回下标,无则返回-1
不同点: 应用场景不同
indexOf : 查找数组中元素的值类型
findIdex : 查找数组/对象中元素的引用类型(根据条件查询数组中满足条件的元素的索引值)
特点:
a.回调函数执行次数!=数组长度
b.回调函数内部的return
- return true : 循环结束,找到了符合要求的元素,返回该元素的下标
- return false : 循环继续,没有找到符合条件的元素,遍历所有元素还是没有的话,返回false
c.some方法的返回值
- 查索引 返回下标或者 -1
let arr = [
{name:'张三',age:20},
{name:'李四',age:18},
{name:'王五',age:16},
]
let res = arr.findIndex(item=>item.name == '王五')
console.log(res)
- 查元素 find查询满足条件的第一个元素
let arr = [
{name:'张三',age:20},
{name:'李四',age:18},
{name:'王五',age:16},
]
let res = arr.find(item=>item.name == '王五')
console.log(res)
7.reduce方法
作用: 数组累加方法,常用于数组求和,数组最大值
语法: let 变量名=arr.reduce(参数1,参数2)
a.第一个参数: 回调(上一次值,当前值,当前下标)=>{}
- 默认下标从0开始 -->第二个参数就是设置默认下标的
- return 值 就是下一次 sum的值
b.第二个参数 :
- 开发中一般设默认值为0,如果不设置遇到空数组会报错
c.reduce方法返回的值是 最后一次的sum的结果