Я написал простой фрагмент кода для сравнения случайных различий в массивах и нашел что-то... что я не совсем понимаю.
- Я генерирую 2 массива, заполненных случайными числами
- Сложите различия между случайными числами
- Распечатайте среднюю разницу
Я ожидал бы, что результатом будет случайное число, близкое к 0,5, но на практике это 0,3333.
Почему массив случайных чисел находится на 0,3, а не на 0,5?
const result = document.getElementById('result');
const generateRandomNrArray = (nrNumbers) => {
let i;
let result = [];
for (i = 0; i < nrNumbers; i++) {
result.push(Math.random());
}
return result;
}
const getArrayDiff = (arr1, arr2) => {
var diff = 0;
arr1.forEach(function (v1, index) {
diff += Math.abs(v1 - arr2[index]);
});
return diff;
}
const run = (nr) => {
const arr1 = generateRandomNrArray(nr);
const arr2 = generateRandomNrArray(nr);
const totalDiff = getArrayDiff(arr1, arr2);
result.innerHTML = "Average difference:" + (totalDiff / nr);
}
button {font-size: 2em;}
<div id="result"></div>
<button id="run" onclick="run(1500)">Click Me</button>