Здесь я хочу получать данные от пользователей. Разделите и сохраните их в массиве. Затем покажем суммирование чисел массива.
<!-- for taking inputs -->
<input id="seriesInput" type="text" placeholder="please use space">
<!-- for submitting inputs -->
<input id="submiting" onclick="seriesFunction()" value="Submit" type="button">
<!-- for placing results -->
<div> Summation is <span id="sum"></span> </div>
<script type="text/javascript">
function seriesFunction()
{
value = document.getElementById("seriesInput").value;
// splitting string in an array
value_arr = value.split(" ");
alert(value_arr);
// calling reduce method for summation
var sum = value_arr.reduce(get_sum,0);
// assigning result
document.getElementById("sum").innerHTML =sum;
alert(sum);
function get_sum(total, currentVal) {
total += currentVal;
return total;
}
}
</script>
Вы получаете currentValue как строку в функции get_sum, попробуйте сделать integer. Вы можете сделать это так:
function get_sum(total, currentVal) {
currentVal = parseInt(currentVal);
total += currentVal;
return total;
}
Вам необходимо изменить код:
function get_sum(total, currentVal) {
total += +currentVal;
return total;
}
Обратите внимание +
перед currentVal
. Это преобразует строку в число не только int
. Таким образом, преимущество заключается в том, что если вы введете три значения, например 1.1 1.2 1.3, вы получите сумму как 6.6. Раньше без этого вы делали конкатенацию строк вместо суммы, которую вы намеревались сделать.
function seriesFunction() {
value = document.getElementById("seriesInput").value;
// splitting string in an array
value_arr = value.split(" ");
alert(value_arr);
// calling reduce method for summation
var sum = value_arr.reduce(get_sum, 0);
// assigning result
document.getElementById("sum").innerHTML = sum;
alert(sum);
function get_sum(total, currentVal) {
total += +currentVal;
return total;
}
}
<input id="seriesInput" type="text" placeholder="please use space">
<!-- for submitting inputs -->
<input id="submiting" onclick="seriesFunction()" value="Submit" type="button">
<!-- for placing results -->
<div> Summation is <span id="sum"></span> </div>
parseInt
. ОП говорит номер.