
23.03.2015, 04:02
|
 |
Интересующийся
|
|
Регистрация: 06.06.2012
Сообщений: 22
|
|
Сложить числа написанные через запятую
Здравствуйте!
С помощью данного кода:
var json = localStorage.getItem('save');
var data = JSON.parse(json);
var one = data.data;
$('.get').text(one);
Получаю строку:
0,5,5,5,5,4,5,5,5,4,5,4,5,4,4,4,4,4,5,4,5,5,5,4,4,4,4,5,4,4,4,4,5,5,4,4,3,4,4,5,3,4,4,4,4,5
Как можно сложить все эти числа?
Буду благодарен за помощь.
|
|

23.03.2015, 04:12
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
А почему строку? Ведь если это был массив, который записали как JSON в локальное хранилище, то JSON.parse(json) возвращает не строку, а массив. Обходите теперь этот массив циклом и суммируйте значения его элементов.
|
|

23.03.2015, 07:06
|
 |
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
var one = [0,5,5,5,5,4,5,5,5,4,5,4,5,4,4,4,4,4,5,4,5,5,5,4,4,4,4,5,4,4,4,4,5,5,4,4,3,4,4,5,3,4,4,4,4,5];
var n = eval(one.join('+'));
alert(n);
|
|

23.03.2015, 08:24
|
Профессор
|
|
Регистрация: 27.04.2012
Сообщений: 1,410
|
|
через eval?
|
|

23.03.2015, 09:01
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,141
|
|
xXapokalypsesXx,
var one = "0,5,5,5,5,4,5,5,5,4,5,4,5,4,4,4,4,4,5,4,5,5,5,4,4,4,4,5,4,4,4,4,5,5,4,4,3,4,4,5,3,4,4,4,4,5",
sum = one.split(",").reduce(function(a,b) {return a + +b},0);
alert(sum)
|
|

23.03.2015, 11:25
|
 |
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
skrudjmakdak, а почему бы и нет? Это же клиент, а не сервер. И все данные берутся из localStorage, а не $_GET.
|
|

23.03.2015, 14:30
|
 |
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,591
|
|
Ruslan_xDD, а как данные в энтот localStorage попадают автор же не написал. Да и выглядит откровенно отвратительно, имхо.
__________________
29375, 35
|
|

23.03.2015, 22:04
|
 |
Интересующийся
|
|
Регистрация: 06.06.2012
Сообщений: 22
|
|
Ruslan_xDD, спасибо, работает отлично, но многие рекомендуют воздержаться от использования eval.
рони, и вам спасибо, ваш пример работает, но вот так почему-то не сработало:
var json = localStorage.getItem('save');
var data = JSON.parse(json);
var one = data.data,
sum = one.split(',').reduce(function(a,b) {return a + +b},0);
$('.get').text(sum);
Сделал так, теперь работает:
var json = localStorage.getItem('save');
var data = JSON.parse(json);
var one = data.data;
var two = one.join('+');
var sum = two.split('+').reduce(function(a, b) {
return a + +b
}, 0);
$('.get').text(sum);
Последний раз редактировалось xXapokalypsesXx, 23.03.2015 в 22:10.
|
|

23.03.2015, 22:12
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,141
|
|
Сообщение от xXapokalypsesXx
|
Сделал так,
|
тогда у вас лишнее
var json = localStorage.getItem('save');
var data = JSON.parse(json);
var one = data.data;
var sum = one.reduce(function(a, b) {
return a + +b
}, 0);
$('.get').text(sum);
|
|

23.03.2015, 22:40
|
 |
Интересующийся
|
|
Регистрация: 06.06.2012
Сообщений: 22
|
|
рони, благодарю)
|
|
|
|