Хорошо, я попытался решить эту проблему с циклом, и я тоже проверил, она отлично работает для меня, посмотрите код.
function launchTwoDice() {
let dice1 = Math.floor(Math.random() * ((6 - 1) + 1) + 1);
let dice2 = Math.floor(Math.random() * ((6 - 1) + 1) + 1);
return dice1+dice2;
};
let allLaunches = [];
for (let i = 0; i < 36000; i++) {
let result = launchTwoDice();
if(allLaunches[result] == undefined)
{ allLaunches[result] = 1; }
else { allLaunches[result] = allLaunches[result] + 1};
};
Основная проблема заключалась в том, что, когда мы помещаем count в массив, allLaunches[result] = allLaunches[result] + 1
вот так, в этом случае allLaunches[result]
в неопределенное значение и undefined + 1 = NaN
Поэтому поместите условие перед добавлением счетчика в массив allLaunches
.
на console.log(allLaunches)
(13) [empty × 2, 1041, 2024, 2923, 3982, 5128, 5968, 4980, 4055, 2930, 1929, 1040]
2: 1041
3: 2024
4: 2923
5: 3982
6: 5128
7: 5968
8: 4980
9: 4055
10: 2930
11: 1929
12: 1040
length: 13
__proto__: Array(0)