Я хочу суммировать список чисел, хранящихся в объекте 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>
и записываю список в колонку результатов. Список номеров сохраняется как объект. Моя цель - суммировать все числа в объекте в любой момент времени.
Этот скрипт находится внутри функции, которая передает множество параметров, поэтому некоторые переменные здесь выглядят неопределенными.
Любая помощь будет принята с благодарностью! Спасибо
UPDATE:
var nicTotalScore = nicScoreList.reduce(function(score, total) {
return total + score;
}, 0);
console.log(nicTotalScore); //12120
console.log(nicScoreList); //["12", "12"]
UPDATE:
Если поле оценки оставлено пустым при отправке, пустая строка "" вместо оценки. это регистрируется как 0, когда метод Reduce проходит через массив. Это не влияет на общее количество, но, скажем, например, я хотел тогда найти средний балл, он отбрасывает его. есть идеи? спасибо