Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中对存储在数组中的数字求和_Javascript_Json_Object_Sum - Fatal编程技术网

在JavaScript中对存储在数组中的数字求和

在JavaScript中对存储在数组中的数字求和,javascript,json,object,sum,Javascript,Json,Object,Sum,我想对存储在JavaScript对象中的数字列表求和。使用以下代码创建和更新对象: var myscore = $('input[name="Points1"]').val(); scorelist = JSON.parse(localStorage.getItem(playerName + 'scorelist') || '[]'); scorelist.push(myscore); localStorage.setItem(playerName + 'scor

我想对存储在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>");
更新: 如果提交时分数字段留空,则将显示空字符串“”,而不是分数。当reduce方法遍历数组时,这将注册为0。这不会影响总成绩,但比如说,我想找到平均分,它会把它抛在脑后。有什么想法吗?谢谢

如果你
推送()
记分表
,我想说它可能是一个
数组

您可以使用
reduce()


reduce函数非常优雅。我不确定我是否真正理解reduce函数。你介意再解释一下吗?@NicMeiring MDN很好。谢谢。现在就去拿。答案仍然是连接而不是求和。请参阅更新。@NicMeiring您必须将分数存储为字符串。我会更新我的答案。
var nicTotalScore = nicScoreList.reduce(function(score, total) {
        return total + score;   
    }, 0);
    console.log(nicTotalScore); //12120
    console.log(nicScoreList); //["12", "12"]
var total = scorelist.reduce(function(total, score) {
    return total + +score;
}, 0);