1
我想總結存儲在JavaScript對象中的數字列表。創建和更新的對象使用此代碼:在JavaScript中存儲在數組中的數字總和
var myscore = $('input[name="Points1"]').val();
scorelist = JSON.parse(localStorage.getItem(playerName + 'scorelist') || '[]');
scorelist.push(myscore);
localStorage.setItem(playerName + 'scorelist', JSON.stringify(scorelist));
$('div.scorecolumn', column).html("Score: <br>" + scorelist.join('<br>') + "<br>");
我基本上採取無論是在列的時候,解析它,添加myscore
,字符串化它,用<br>
加入每個元素和寫入的列表中scorecolumn。數字列表被保存爲一個對象。我的目標是在任何時候總結對象中的所有數字。
該腳本位於一個函數中,該函數傳遞一堆參數,這就是爲什麼一些變量在這裏看起來沒有定義的原因。
任何幫助將不勝感激!由於
UPDATE:
var nicTotalScore = nicScoreList.reduce(function(score, total) {
return total + score;
}, 0);
console.log(nicTotalScore); //12120
console.log(nicScoreList); //["12", "12"]
UPDATE: 如果提交時將比分字段爲空,空字符串 「」,而不是得分。當reduce方法遍歷數組時,這將註冊爲0。這並不影響總數,但是比如說,我想要找到平均分數,它就會拋棄它。那裏有任何想法?謝謝
非常優雅的減少功能。 – Triztian 2012-02-28 04:14:01
我不確定我是否真的瞭解reduce函數。你會介意更多的解釋嗎? – 2012-02-28 04:25:55
@NicMeiring MDN有很好的[documentation](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/Reduce)。 – alex 2012-02-28 04:26:59