在Python中,你可以像这样:Javascript地图本地对象的方法
>>> list(map(str.upper, ['foo','bar']))
['FOO', 'BAR']
我希望能够做同样的事情在javascript:
我已经尝试使用下面的Chrome浏览器原生地图实现(https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/map):
['foo','bar'].map(String.prototype.toUpperCase)
['foo','bar'].map(String.prototype.toUpperCase.call)
为什么不调用工作? 有没有任何优雅的方式来做到这一点,或者我必须在回调函数中包装toUpperCase? THX
'toUpperCase.call'不起作用,因为'call'是针对'Function.prototype'解析的,因此与'toUpperCase'无关。它看着'this'来确定哪个方法被调用,'map'调用函数的方式,'this'是'undefined'。 – 2010-11-12 18:39:14