我看的是js 权威指南 里面8.8.2章 高阶函数 原文是这样的://Return a function that expects an array argument and applies f to each element, returning ths arrat of return values. //Contrast this with the map() function from earlier. function mapper(f) { return function(a){ return map(a,f);}; }
var increment = function(x){return x+1;}; var incrementer = mapper(increment);
incremener([1,2,3]) //==>[2,3,4]map() 方法是数组方法 用法如 var arr=[1,2,3,4,5]; var arr1 = arr.map(function(x){return x+1;}); //得到[2,3,4,5,6]
我看的是js 权威指南 里面8.8.2章 高阶函数 原文是这样的://Return a function that expects an array argument and applies f to each element, returning ths arrat of return values.
//Contrast this with the map() function from earlier.
function mapper(f)
{
return function(a){ return map(a,f);};
}
var increment = function(x){return x+1;};
var incrementer = mapper(increment);
incremener([1,2,3]) //==>[2,3,4]map() 方法是数组方法
用法如
var arr=[1,2,3,4,5];
var arr1 = arr.map(function(x){return x+1;}); //得到[2,3,4,5,6]
明白了 谢谢你的指点 在前面章节重新定义了map方法 找了下找到了
var map =Array.prototype.map
?function(a,f){return a.map(f);}
:function(a,f)
{
var results =[];
for(var i=0,len=a.len;i++)
{
if(i in a) results[i] =f.call(null,a[i],i,a);
}
return results;
};