摘自《软件随想录》
map(映射)和reduce(化简)分别来自Lisp语言和函数式编程。
最有生产效率的编程环境是那些允许你在不同层次上进行抽象的编程环境。
var a=[1,2,3];
function map(fn,a){
for(i=0;i<a.length;i++){
a[i] = fn(a[i]);
}
}
map(function(x){return x*2;},a);
function reduce(fn,a,init){
var s =init;
for(i=0; i<a.length; i++)
s = fn(s, a[i]);
return s;
}
function sum(a){
return reduce(function(a,b){return a+b},a,0);
}
function join(a){
return reduce(function(a,b){return a+b},a,"");
}
map(映射)和reduce(化简)分别来自Lisp语言和函数式编程。
最有生产效率的编程环境是那些允许你在不同层次上进行抽象的编程环境。