Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Сложение чисел в массиве (https://javascript.ru/forum/misc/59654-slozhenie-chisel-v-massive.html)

Ambassador 21.11.2015 01:58

Сложение чисел в массиве
 
Всем привет.
Ребят, подскажите как сложить значения что бы получить сумму:
Пытаюсь в пер. AllSumma собрать собрать сумму значений из arSumma , но не получается
var date2;
var arSumma;
var AllSumma=[];
d1 = new Date(onedate);
d2 = new Date(twodate);
var d1UTC = Date.parse(d1);
var d2UTC2 = Date.parse(d2);
for (var keynew in newArr) {
if(newArr[keynew]['user_type_id'] == 'datetime'){
date2 = newArr[keynew]['entity_value'];
var datesdelki = Date.parse(date2); // зона UTC
}

if((datesdelki >= d1UTC)&&(datesdelki <= d2UTC2)){
if(newArr[keynew]['user_type_id'] == 'double'){
arSumma = +newArr[keynew]['entity_value'];/*Из строки в число*/
AllSumma +=arSumma;/*Пытаюсь сложить значения в AllSumma, но безуспешно*/

}
}
}

Вывод AllSumma дает 300047004400280010003500
Никак суммировать эти числа не получается 3000 4700 4400 2800 1000 3500
В чем у меня ошибка?

рони 21.11.2015 02:07

Ambassador,
var AllSumma=[]; наверно ноль а не массив?

Ambassador 21.11.2015 11:03

Ошибся, вот так должно стоять:
var AllSumma;

рони 21.11.2015 11:10

Ambassador,
моя твоя не понимать :)
и Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

Ambassador 22.11.2015 15:27

Тогда немного иначе поставлю вопрос:
var arSumma;
var AllSumma;
var arr = [ "1", "2", "3","4" ];

for (var keynew in arr) {
arSumma = +arr[keynew];/*Из строки в число*/
AllSumma += arSumma;/*Пытаюсь сложить значения в AllSumma, но безуспешно */
}
alert(AllSumma);

Как мне в AllSumma получить сумму значений массива arr, т.е одно число (10) ? Что я делаю неправильно?

рони 22.11.2015 15:37

Ambassador,
достаточно сделать то что написано в посте 2, и лучше использовать обычный for? а не for in, но это в данном случае не критично

Ambassador 22.11.2015 16:21

Спасибо, помогли


Часовой пояс GMT +3, время: 00:10.