js常用高阶函数(filter,map,reduce...)

let nums = [10,30,50,100,110,300];
1.filter(fn)
功能:过滤器,fn为函数,返回一个true/false,当为true时保留数组内数值,反之则剔除
目的:筛选100以内
let nums1 = nums.filter(function(n){
   return n < 100; 
 });
let nums1 = nums.filter(n => n<100)
结果[10,30,50]

2.map(fn)
功能:对数组每一个成员开展fn,返回数组
目的:数组数值双倍
let nums3 = nums.map(function(n){
   return n*2;
});
let nums3 = nums.map(n => n*10);
结果[100, 300,500,1000,1100,3000]

3.reduce(fn(a,b){},初始值)
功能:类似递归,a为初始值代入,其值返回一个数值c,再次代入fn(a,b),最后得到结果
目的:数组和
let nums4 = nums.reduce(function (pre,n) {
   return n + pre;  
},100);
let nums4 = nums.reduce((m,n) => m+n,100);
结果600

猜你喜欢

转载自www.cnblogs.com/xiaoguniang0204/p/12292348.html
今日推荐