ES6的高阶函数的三个高阶函数
文章目录
前言
最近在学vue,发现ES6的高阶函数很好用,Mark一下,以免忘记
1.filter是一个数据的过滤器,他的回调参数是布尔值,他的主要功能就是过滤数据,将过滤的数据存储起来
let num=[10,20,30,40,50,100,200,300]
let nums=num.filter(function(n){
return n<100;
});
console.log(nums);
输出nums---> [10,20,30,40,50]
对num数组中的数据进行比较,将n小于100的存储在nums中
2.map参数是映射函数,他的回调是修改的数据,对数组中的数据进行修改,再将他们替换
let num=[10,20,30,40,50]
let nums=num.map(function(n){
return n*2;
})
console.log(nums);
输出nums---->[20,40,60,80,100]
map函数将num中的数据乘以2,再在nums中存储起来
输出的结果是 20,40,60,80,100
3.reduce()函数是聚合函数。reduce中有两个参数,一个function(),一个是自己设置的
在function()中有两个参数,一个是上一个返回的数值,一个是遍历数组中的内容,后面那个0是prevaluer初始的值
上一个返回的数值:
prevaluer
遍历数组中的内容:
n
后面那个0:
prevaluer初始值
num=[10,20,30]
let conter=num.reduce(function(prevaluer,n){
return prevaluer+n;
},0)
console.log(conter);
最后返回的是60
将这个过程解析:
第一次:prevaluer=0(这个0是reduce()中的第二个参数), n=10, return 10
第二次:prevaluer=10(上一次中返回的内容), n=20, return 30
第三次: prevaluer=30, n=30 ,return 60