forEach
对数组的每个元素执行一次提供的函数。功能和for循环类似不过不能提前终止循环。
- 第一个参数,当前元素 必填
- 第二个参数,当前索引 可选
- 第三个参数,当前的数组 可选(一般不用)
let a = ['tom','jeck','jep','jeck']
a.forEach((item,index,array)=>{
console.log(item,index,array)
})
打印结果
every
测试数组内所有元素是否都能通过某个指定函数的测试。返回布尔值。
let a = ['tom','jeck','jep','jeck']
console.log(a.every((item,index,array)=>item === 'tom'))
如果是一个空数组始终返回true
let a = []
console.log(a.every((item,index,array)=>item === 'tom'))
some
如果用一个空数组进行测试,在任何情况下它返回的都是false。
循环检测数组中是否至少有1个元素通过了被提供的函数测试。返回Boolean类型的值。
- 使用场景
多用于检测一个数组中是否存在某个值
let a = ['tom','jeck','jep','jeck']
console.log(a.some((item,index,array)=>item === 'tom'))
map
创建一个新的数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果
let a = [{label:'武汉',id:111},{label:'上海',id:222}]
console.log(a.map(item=>item.label))
filter
循环原数组,如果满足函数要求就将当前项添加到新的数组中
let a = [{name:'tom',age:18,height:180},{name:'jeck',age:18,height:182},{name:'blck',age:19,height:180}]
console.log(a.filter(item=>item.age === 18))
reduce
对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值
let a = [1,3,4,4]
console.log(a.reduce((pre,next)=>pre+next))
reverse
对数组进行反向排序
let a = [1,3,4,4]
console.log(a.reverse())