Einführung
In diesem Lab werden wir uns einem JavaScript-Programmier-Ausforderung stellen, bei der wir eine Funktion erstellen müssen, die den maximalen Wert eines Arrays zurückgibt, nachdem jedes Element mithilfe der bereitgestellten Funktion zu einem Wert abgebildet wurde. Mit Hilfe von Array.prototype.map() und Math.max() werden wir diese Aufgabe effizient lösen können und ein besseres Verständnis für diese wichtigen JavaScript-Methoden erlangen.
Wie man den maximalen Wert eines Arrays basierend auf einer Funktion findet
Um den maximalen Wert eines Arrays basierend auf einer Funktion zu finden, folgen Sie diesen Schritten:
- Öffnen Sie das Terminal/SSH und geben Sie
nodeein, um mit der Code-Praxis zu beginnen. - Verwenden Sie
Array.prototype.map(), um jedes Element des Arrays auf den von der bereitgestellten Funktionfnzurückgegebenen Wert abzubilden. - Verwenden Sie
Math.max(), um den maximalen Wert des abgebildeten Arrays zu erhalten.
Hier ist ein Beispiel-Codeausschnitt, der die obigen Schritte implementiert:
const maxBy = (arr, fn) =>
Math.max(...arr.map(typeof fn === "function" ? fn : (val) => val[fn]));
Um die maxBy-Funktion zu verwenden, übergeben Sie ein Array und die Funktion, die verwendet werden soll, um jedes Element auf einen Wert abzubilden. Sie können entweder direkt eine Funktion oder einen String übergeben, der den Schlüssel darstellt, der verwendet werden soll, um den Wert in jedem Objekt des Arrays zuzugreifen.
Hier sind einige Beispiel-Aufrufe der maxBy-Funktion:
maxBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], (x) => x.n); // gibt 8 zurück
maxBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], "n"); // gibt 8 zurück
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "Maximaler Array-Wert basierend auf Funktion" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.