案例09. 功能型函数管道// Building-blocks to use for compositionconst double = x => x + x;const triple = x => 3 * x;const quadruple = x => 4 * x;// Function composition enabling pipe functionalityconst pipe = (...functions) => input => functions.reduce((acc, fn) => fn(acc),input);// Composed functions for multiplication of specific valuesconst multiply6 = pipe(double, triple);const multiply9 = pipe(triple, triple);const multiply16 = pipe(quadruple, quadruple);const multiply24 = pipe(double, triple, quadruple);// Usagemultiply6(6); // 36multiply9(9); // 81multiply16(16); // 256multiply24(10); // 240
案例10. 使用 reduce实现mapif (!Array.prototype.mapUsingReduce) {Array.prototype.mapUsingReduce = function(callback, thisArg) {return this.reduce(function(mappedArray, currentValue, index, array) {mappedArray[index] = callback.call(thisArg, currentValue, index, array)return mappedArray}, [])}}[1, 2, , 3].mapUsingReduce((currentValue, index, array) => currentValue + index + array.length) // [5, 7, , 10]
【帮你精通JS:神奇的array.reduce方法的10个案例】
推荐阅读
- 五年级下册语文第六单元作文,神奇的探险之旅?五年级下册语文作文第六单元神奇的探险之旅400
- 不用盯着普洱茶了,中医药茶帮你抗辐射
- 市场总监必备 从0到精通SEM
- 教师|《乌鸦小姐与蜥蜴先生》,扶正爱情观,帮你拜托爱中的依赖
- 如何利用网络搭建“零信任”?4个窍门帮你搞定!
- 神奇的 SQL 之性能优化 → 让 SQL 飞起来
- 要精通SQL优化?首先要看懂explain关键字
- 翡翠|单调的翡翠无事牌,为何会受到这么多人的喜爱?我帮你分析一下
- Python线程的生命周期你知道多少,一文帮你全部搞清楚
- 铁观音茶的神奇由来传说