Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / HTML, JavaScript, VBScript, CSS Новый топик    Ответить
 Сложение чисел в строке  [new]
Никита А
Member

Откуда:
Сообщений: 147
Как сложить числа из строки '1000<br>500'?
30 июн 20, 11:35    [22159528]     Ответить | Цитировать Сообщить модератору
 Re: Сложение чисел в строке  [new]
Никита А
Member

Откуда:
Сообщений: 147
Суммирую числа в цикле, а некоторые из них составные, в виде строк '3000<br>1000<br>4000'.
Как их просуммировать на JS?
30 июн 20, 11:51    [22159553]     Ответить | Цитировать Сообщить модератору
 Re: Сложение чисел в строке  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 17825
Никита А
3000<br>1000<br>4000
split?
30 июн 20, 12:41    [22159602]     Ответить | Цитировать Сообщить модератору
 Re: Сложение чисел в строке  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 13440
Никита А
Как сложить числа из строки '1000<br>500'?

Как вариант...
var str='3000<br>1000<br>4000';
var a=str.split('<br>');
var sum=0;
for (var i=0; i<a.length; i++) {
	sum+=+a[i];
};
alert(sum);
30 июн 20, 12:57    [22159615]     Ответить | Цитировать Сообщить модератору
 Re: Сложение чисел в строке  [new]
vkle
Member

Откуда: Самара
Сообщений: 14944
Или так
var str='3000<br>1000<br>4000';
var sum = eval(str.replace(/<br>/g, '+'));
30 июн 20, 15:59    [22159780]     Ответить | Цитировать Сообщить модератору
 Re: Сложение чисел в строке  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 17825
vkle,
за это
var sum = eval(str.replace(/<br>/g, '+'));
руки надо отрывать
30 июн 20, 22:59    [22160012]     Ответить | Цитировать Сообщить модератору
 Re: Сложение чисел в строке  [new]
MikkiMouse
Member

Откуда: Киев
Сообщений: 739
Никита А,

Тут надо подключать jQuery я думаю.
1 июл 20, 00:04    [22160028]     Ответить | Цитировать Сообщить модератору
 Re: Сложение чисел в строке  [new]
Дмитрий Мух
Member

Откуда: Зеленоград
Сообщений: 3657
Никита А
Суммирую числа в цикле, а некоторые из них составные, в виде строк '3000<br>1000<br>4000'.
Как их просуммировать на JS?

Суммируете числа и некоторые из них в виде строк? А покажите код.
1 июл 20, 00:12    [22160031]     Ответить | Цитировать Сообщить модератору
 Re: Сложение чисел в строке  [new]
artas
Member

Откуда: Киев сити
Сообщений: 1071
MikkiMouse
Никита А,

Тут надо подключать jQuery я думаю.

а еще ангуляр, прототайп, реакт и другие библиотеки и движки
1 июл 20, 15:17    [22160210]     Ответить | Цитировать Сообщить модератору
 Re: Сложение чисел в строке  [new]
Изопропил
Member

Откуда:
Сообщений: 31502
MikkiMouse
Никита А,

Тут надо подключать jQuery я думаю.

без этого никак
str.split(/\D+/).reduce((a, c) => a+Number(c),0) 
2 июл 20, 11:48    [22160723]     Ответить | Цитировать Сообщить модератору
 Re: Сложение чисел в строке  [new]
Никита А
Member

Откуда:
Сообщений: 147
krvsa

Как вариант...
var str='3000<br>1000<br>4000';
var a=str.split('<br>');
var sum=0;
for (var i=0; i<a.length; i++) {
	sum+=+a[i];
};
alert(sum);

Спасибо большое, получилось, очень выручили!
Для кого-то это элементарное задача, но для меня сложная, с JS приходится редко работать.
3 июл 20, 04:31    [22161347]     Ответить | Цитировать Сообщить модератору
 Re: Сложение чисел в строке  [new]
Никита А
Member

Откуда:
Сообщений: 147
Изопропил

str.split(/\D+/).reduce((a, c) => a+Number(c),0) 

Спасибо, максимально лаконичное решение, но не могу понять несколько моментов.
1) в методе split есть регулярное выражение "/\D+/" которое не могу загуглить понять как работает.
2) для чего после "Number(c)" через запятую идёт ноль?
3 июл 20, 05:04    [22161350]     Ответить | Цитировать Сообщить модератору
 Re: Сложение чисел в строке  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 13440
Никита А
1) в методе split есть регулярное выражение "/\D+/" которое не могу загуглить понять как работает.

Это регулярное выражение ищет последовательность "не цифр".
https://javascript.ru/regexp
Никита А
2) для чего после "Number(c)" через запятую идёт ноль?

Это т.н. initialValue
arr.reduce(callback[, initialValue])

Вот почитай описание этого метода...
https://learn.javascript.ru/array-iteration#reduce-reduceright

Сообщение было отредактировано: 3 июл 20, 07:21
3 июл 20, 07:22    [22161369]     Ответить | Цитировать Сообщить модератору
 Re: Сложение чисел в строке  [new]
Никита А
Member

Откуда:
Сообщений: 147
krvsa,

Спасибо что ткнули, во всём разобрался!
9 июл 20, 09:22    [22164532]     Ответить | Цитировать Сообщить модератору
Все форумы / HTML, JavaScript, VBScript, CSS Ответить