所以我有一個骰子滾動功能。我想滾動2次骰子20次,每次滾動時,我想添加這些數字,然後我想看看總和出現的次數,並將該數字放入數組中。一個數字出現在一個數組中的時間計數
function Dice() {
this.roll = function() {
var randomValue = Math.ceil(Math.random() * 6);
this.side = randomValue;
return this.side;
}
}
var dice1 = new Dice();
var dice2 = new Dice();
function getAmount() {
var finalArray = [];
function diceSum() {
var sum = dice1.roll() + dice2.roll();
return sum;
}
var trackSum = [];
for (var i = 1; i <= 20; i++) {
trackSum.push(diceSum());
}
var reduced = trackSum.reduce(function(acc, sum, i, arr) {
return acc.i += sum;
}, {});
return reduced;
}
所以我得到trackSum
其具有20個號碼中的陣列,每個數字是2骰子的擲骰總和。如果sum = 2
並出現5次,sum = 4
,出現2次,sum = 3
,出現1次,最終陣列應該像
[5, 2, 1]
到目前爲止,我嘗試了reduce
方法,filter
和forEach
。我只是無法弄清楚如何比較數字,看看它出現的次數。任何幫助,將不勝感激。謝謝!
你是否在意追蹤卷/次數的順序?或者你只是想知道每次發生的次數? – sethro