平均総数を計算するプログラムを作成しようとしています。全数の合計を総数で割って計算します。私は.reduce()
機能を使用しようとしましたが、私が望む結果が得られません。例えば、「4」と「2」を取ると、プログラムはその2つの合計を「6」にしてから「2」で割ります(合計を作る2つの数字があるので)。結局私は "3"を得るでしょう。しかし、私が得ているのは "21"です。これは、プログラムが "4"と "2"を連結して結果が "42"になり、 "2"で割り切れるためです。正しい結果を得るためにコードを変更するにはどうすればよいですか?この追加+は単項プラス演算子ウィッヒは数値に文字列を変換と呼ばれるJavaScript - reduce関数を使用した配列からの中間の数値
var numbers = +document.getElementById("numbers").value;
:
var numOfNum = 0;
var result;
var allNums = [];
var total = 0;
function add() {
var numbers = document.getElementById("numbers").value;
if (numbers > 5) {
alert("Maximum character limit reached.");
} else {
allNums.push(numbers);
numOfNum++;
document.getElementById("output").innerHTML = allNums + "<br>" + numOfNum;
}
total = allNums.reduce(function(a, b) {
return a + b;
}, 0);
}
function calculate() {
result = total/numOfNum
document.getElementById("output").innerHTML = result;
}
<!DOCTYPE html>
<html>
<head>
<title>Racunanje proseka</title>
<meta charset="UTF-8">
<script src="racunanjeProseka.js"></script>
</head>
<body>
<input type="text" id="numbers"> <br>
<button id="add" onclick="add()">Add</button>
<button id="calculate" onclick="calculate()">Calculate</button>
<p id="output"></p>
</body>
</html>