JavaScript数组的高阶函数
来源:互联网 发布:韩磊 知乎 编辑:程序博客网 时间:2024/04/28 09:27
高阶函数
一个函数就接收另一个函数作为参数,这种函数就称之为高阶函数
一个函数就接收另一个函数作为参数,这种函数就称之为高阶函数
高阶函数filter
filter用于过滤数组的元素。
filter用于过滤array中的一些值,通过带入的函数返回的ture 或false 保留或去除,返回一个新的array
var a = [1,2,3,4,5]var b =[]var fun = function(x){ return x%2 !== 0;}b = a.filter(fun)alert(b)
判断筛选出array中的素数
1 //判断素数自定义函数; 2 function get_su(x){ 3 if(x <=3){return x>1;} 4 if(x % 2 === 0 || x % 3 === 0){return false;} 5 for(var i = 5; i*i <= x; i +=6){ 6 if(x % i ===0 || x%(i+2) ===0){ 7 return false; 8 } 9 }10 return ture;11 }12 13 var arr = [1,2,3,4,5,6,7,8,9,10];14 15 //filter使用get_su(),筛选arr;16 var su = arr.filter(get_su(x));17 console.log(su);//[2, 3, 5, 7]
高阶函数map
map作用在数组的每个元素上的函数。
此时我们有一个数组和一个接受一个参数并返回一个数的函数。我们需要把这个数组的每一个值在这个函数上走一遍,从而得到一个新数组。此时就需要map了
var a = [1,2,3,4,5,6];var b = []var fun = function(x){ return x * x;}b = a.map(fun)alert(b) //1 4 9 16 25 36
高阶函数reduce
Array
的reduce()
把一个函数作用在这个Array
的[x1, x2, x3...]
上,这个函数必须接收两个参数,reduce()
把结果继续和序列的下一个元素做累积计算,其效果就是:
[x1, x2, x3, x4].reduce(f) = f(f(f(x1, x2), x3), x4)
var a = [1,2,3,4,5]var b =[]var fun = function(x,y){ return x+y;}b = a.reduce(fun)alert(b) // 15
0 0
- JavaScript数组的高阶函数
- javascript中数组的常用高阶函数
- JavaScript 数组(Array) sort 排序函数实现的简单高阶函数原理
- JavaScript-高阶函数
- 高阶函数与JavaScript
- javascript 中的高阶函数
- JavaScript 高阶函数filter
- 【javascript】JavaScript高阶函数介绍
- JavaScript函数之高阶函数
- 函数-Javascript中的高阶函数介绍
- JavaScript的map/reduce/filter/sort 高阶函数
- JavaScript的数组排序函数
- Javascript数组函数的使用
- javascript 的函数指针数组
- html javascript数组的函数
- JavaScript的数组,函数,对象
- JavaScript之典型高阶函数
- JavaScript之典型高阶函数
- Android 5.0之CoordinatorLayout
- 备忘20161102
- 2016.12.03【初中部 NOIP提高C组】模拟赛
- ViewPager嵌套Fragment时Fragment的生命周期问题
- HDOJ 2037 今年暑假不AC
- JavaScript数组的高阶函数
- AR在IOS10上闪退的解决方法
- POJ 1065 Wooden Sticks 已被翻译
- 基于谷歌todoapp的android mvp(一)
- python 闭包、注入、装饰
- 20161103备忘
- postgresql 怎么查询第一条数据
- 【JAVA算法】英文语句翻转
- 软件工程之编码阶段