Ich habe einige Probleme, wie man den größten Wert der Karte, die ich bekommen habe, tatsächlich bekommen. Momentan zeigt mein Code nur die tatsächlichen gezählten Werte jedes Schlüssels an, ich bleibe bei dem Versuch, das Max zu protokollieren, was ich denke, passiert in meinem Code, ist die for-Schleife durch das counts [key] -Array, aber es wird bleiben bei 1, was der erste Wert ist und stoppt, weil die einzige Nummer, die geloggt wird, 1 ist. Ich erwarte nicht die tatsächliche Antwort, vielleicht einige Tipps und Hinweise, die mich auf die richtige Weise führen würden. Danke im Voraus.Berechnung mit Javascript
var Mode = function(data) {
var counts = {};
for (let i = 0; i < data.length; i++) {
counts[data[i]] = (counts[data[i]] + 1) || 1;
}
for (var key in counts) {
if (counts.hasOwnProperty(key)) {
var maxValue = Math.max(counts[key]);
}
}
return maxValue;
}
console.log(Mode([1, 5, 2, 3, 3, 4, 4, 4]));
Was ist die richtige Antwort? 4 oder 5? –
die richtige Antwort wäre 3, da mein Code tatsächlich jeden Array-Wert aus Daten zählt, also im Grunde ist es "1" = 1; '2' = 2; '3' = 2; '4' = 3; '5' = 1; Was ich eigentlich suche, ist, die tatsächlich gezählten Zahlen des Datenarrays zu vergleichen, weshalb ich all diese in eine Karte einfüge und jetzt versuche ich, jeden der Werte zu vergleichen und die richtige Antwort – Siegfried
zu loggen Aber "4" hat die höchste Anzahl in Ihrem Beispiel. – Walf