函数式编程的初次见面

Posted SeriousLose

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数式编程的初次见面相关的知识,希望对你有一定的参考价值。


 function double(arrIn) { let arrOut = []; for (let i = 0; i < arrIn.length; i++) { arrOut[i] = arrIn[i] * 2; } return arrOut; }

function increment(arrIn) { let arrOut = []; for (let i = 0; i < arrIn.length; i++) { arrOut[i] = arrIn[i] + 1; } return arrOut; }

function foo(arrIn) { return increment(double(arrIn)); }
foo([1,2,3])



上边的三个函数,进行优化后


 let double = (arrIn)=>arrIn.map((item) => item * 2); let increment= (arrIn)=>arrIn.map((item) => item + 1);  let foo = (arrIn)=>increment(double(arrIn));


发现了组合函数,最终结果

 let double = (arrIn)=>arrIn.map((item) => item * 2); let increment= (arrIn)=>arrIn.map((item) => item + 1); let foo = (f, g) => (x => f(g(x))); foo(increment,double)([1,2,3])


所以有些时候,每个方法好好思考下,如何简化,能有更优的写法。希望大家每个方法都好好的思考哟。



欢迎关注

点个在看,支持小编


以上是关于函数式编程的初次见面的主要内容,如果未能解决你的问题,请参考以下文章

strlen()的初次见面

与Python的初次见面

函数式编程中的纯函数

函数式编程

ES5基础之正则表达式01:初次见面

函数式编程实用介绍