【发布时间】:2015-02-17 15:59:25
【问题描述】:
我正在尝试使用 Javascript 的高阶函数进行函数式编程。然而,它们产生了意想不到的结果:
['1','2','3','4'].map(parseInt) // [1, NaN, NaN, NaN]
['1','2','3','4'].map(function(x){
return parseInt(x)
}) // [1, 2, 3, 4]
我预计这两个对Array.prototype.map 的调用都会返回[1, 2, 3, 4]。如何在不使用匿名函数的情况下映射parseInt()?
同样,我希望以下两个表达式产生相同的值:
[4,6,8,3].reduce(Math.max,-Infinity) // NaN
[4,6,8,3].reduce(function(x,y){
return Math.max(x,y)
},-Infinity) // 8
另外,由于我是 Javascript 函数式编程的新手,如果我使用的术语有误,请告诉我。
【问题讨论】:
标签: javascript functional-programming higher-order-functions