我使用Firefox 3.5.7和Firebug内我试图测试array.reduceRight函数,它适用于简单数组但是当我尝试这样的事情时,我得到一个NaN。为什么?为什么reduceRight在Javascript中返回NaN?
>>> var details = [{score : 1}, {score: 2}, {score: 3}];
>>> details
[Object score=1, Object score=2, Object score=3]
>>> details.reduceRight(function(x, y) {return x.score + y.score;}, 0)
NaN
我也尝试过地图,至少我可以看到每个元素的.score组件:
>>> details.map(function(x) {console.log (x.score);})
1
2
3
[undefined, undefined, undefined]
我阅读文档在https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduceRight但显然我不能让它工作总结全部得分值我的详细资料数组。为什么?
所以基本上,当你通过初始值reduceRight时,它表现为折叠。我没有意识到这一点。 – 2010-01-22 15:17:31
我开悟了!谢谢。 – 2010-01-22 15:34:35