美文网首页
JS高阶函数

JS高阶函数

作者: thebestduleisi | 来源:发表于2017-11-18 10:41 被阅读0次

    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

    相关文章

      网友评论

          本文标题:JS高阶函数

          本文链接:https://www.haomeiwen.com/subject/jaydvxtx.html