【发布时间】:2012-02-28 04:06:06
【问题描述】:
我想对存储在 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> 连接起来,然后将列表写入得分列。数字列表保存为对象。我的目标是在任何给定时间汇总对象中的所有数字。
这个脚本在一个函数内部,它传入了一堆参数,这就是为什么有些变量在这里看起来没有定义。
任何帮助将不胜感激!谢谢
更新:
var nicTotalScore = nicScoreList.reduce(function(score, total) {
return total + score;
}, 0);
console.log(nicTotalScore); //12120
console.log(nicScoreList); //["12", "12"]
更新: 如果提交时分数字段为空,则为空字符串“”而不是分数。当 reduce 方法通过数组时,这将注册为 0。这不会影响总分,但是比如说,我想然后找到平均分,它会把它扔掉。有什么想法吗?谢谢
【问题讨论】:
标签: javascript json object sum