JS高阶函数

1.map: var arr=[1,2,3,4]; arr.map(function_name); 这传入的方法会把数组中每个值运行一遍;数组转字符串:arr.map(String);

2.reduce: reduce必须接收两个参数:[a,b,c,d].reduce(function_name) = f(f(f(a,b),c),d);可以计算数组的积 或和;

3.filter也是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素;filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素. 例:去除重复元素,删除偶数

arr.filter(function(x){                                                                        arr.filter(function(x,index,self){

return x/2 !== 0;                                                                                         return self.indexOf(x) === index;

})//返回奇数                                                                                        })//去除重复的

4.sort:对于两个元素x和y,如果认为x < y,则返回-1,如果认为x == y,则返回0,如果认为x > y,则返回1

arr.sort(function(x,y){})

5.箭头函数 x=>x*x  == function(x){return x*x};  多个参数用()   (x,y,...rest)=>...     ...rest可变参数除了x,y其余的参数

6.generator 生成器;generator由function*定义(注意多出的*号),并且,除了return语句,还可以用yield返回多次

function* incre_id(){ var oid = 1; while(true){ yield v++;}}  自增id例子

7.闭包:将一个函数作为返回值.http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容