我使用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