Получить сумму чисел
В JS написать программу, где пользователь будет вводить любое количество цифр через пробел и видеть их сумму через input. Без input то не сложно, а с ним ни как понять не могу, как с пробелами считать
Ответы (2 шт):
Автор решения: anton
→ Ссылка
Можно использовать .split(separator):
function getSum() {
document
.getElementById("result")
.innerText = document
.getElementById("numbers")
.value
.split(" ")
.map(x => parseInt(x))
.reduce((x, y) => x + y);
}
<input type="text" id="numbers" value="1 45 7 8 22"></input><br/>
<button onclick="getSum();">Get sum</button><br/>
<a id="result"></a>
UPD: В комментариях подметили про NaN:
function getSum() {
document
.getElementById("result")
.innerText = document
.getElementById("numbers")
.value
.split(" ")
.map(x => {
const y = parseInt(x);
return isFinite(y)
? y
: 0;
})
.reduce((x, y) => x + y);
}
<input type="text" id="numbers" value="1 45 7 8 22"></input><br/>
<button onclick="getSum();">Get sum</button><br/>
<a id="result"></a>
Автор решения: ksa
→ Ссылка
Предложу еще такой вариант...
document.querySelector('button').addEventListener('click', _ => {
result.textContent = numbers.value.match(/\d+/g).reduce((s, v) => s + +v, 0)
})
<input type="text" id="numbers" value="1 45 7 8 22"></input><br/>
<button>Get sum</button><br/>
<p id="result"></p>
