難しそうだからさわってなかったけど、その場だけでごりごり書くときに便利そう。
/* New document created: 6.2.2008 18:34:27 */
function map(fn, a)
{
for (i = 0; i < a.length; i++)
{
a[i] = fn(a[i]);
}
}
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(x, y){ return x+y; }, a, 0);
}
function cntYear(x) //Closure
{
var i = 0;
return function()
{
i = i + 1;
return x + i;
}
}
var a = [1, 2, 3];
map( function(x){return x*2;}, a );
map( alert, a );
years = new Array(400);
map( cntYear(2008), years );
map( function(x){ if(x%400==0 || x%100!=0 && x%4==0){return 1;}else{return 0;} }, years);
alert(sum(years));
0 件のコメント:
コメントを投稿