erscheint So habe ich eine Würfel-Roll-Funktion. Ich möchte 2 Würfel 20 Mal rollen, jedes Mal, wenn ich rolle, möchte ich diese Zahlen hinzufügen, und dann möchte ich sehen, wie oft die Summe erscheint, und diese Zahl in ein Array setzen.Anzahl der Zeit, die eine Zahl in einem Array
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;
}
so erhalten trackSum
I, die 20 Zahlen in einer Anordnung aufweist, die jede Zahl die Summe der 2 Würfel gerollt wird. Wenn sum = 2
und es 5mal erscheint, sum = 4
, 2 mal erscheint, sum = 3
, erscheint 1 Mal, sollte final Array aussehen
[5, 2, 1]
Bisher habe ich versucht, eine reduce
Methode, filter
und forEach
. Ich kann einfach nicht herausfinden, wie man die Zahlen vergleicht, um zu sehen, wie oft es erscheint. Jede Hilfe wäre willkommen. Vielen Dank!
Ist es Ihnen wichtig, die Reihenfolge der Rollen/Summen im Auge zu behalten? Oder möchten Sie nur wissen, wie oft jede Summe aufgetreten ist? – sethro