Aus dem Kurs: Programmierrätsel: JavaScript
Auf und nieder – Tutorial zu JavaScript
Aus dem Kurs: Programmierrätsel: JavaScript
Auf und nieder
Auf und nieder immer wieder. Das ist Thema der folgenden Aufgabe, Sie bekommen von mir eine Zeichenkette mit verschiedenen Zahlen getrennt durch ein Leerzeichen und Sie sagen mir, was ist die größte Zahl und was ist die kleinste Zahl in dieser Zeichenkette. Es klingt eifnach, aber Sie bekommen eben von mir, deswegen habe ich es extra betont, eine Zeichenkette und kein Array mit einzelnen Zahlen, und ich will natürlich, dass Sie diese Aufgabe möglichst elegant lösen in so wenig Zeilen Code wie möglich. Hier sehen Sie noch mal den Test, der bestanden werden muss. Also ich habe hier ein String, eine Zeichenkette mit Zahlen und ich erwarte jetzt als Rückgabewert die größte Zahl, die 3314 und die kleinste Zahl hier die 2. Überlegen Sie sich eine Lösung und wenn Sie selber sich eine Lösung ausgedacht haben, dann vergleichen Sie die mit meiner Lösung, die jetzt gleich kommt. Hier haben wir sie, was mache ich. Zunächst einmal möchte ich die Zeichenkette, die ich hier bekomme, in ein Array umwandeln. Das mache ich mit split und ich splitte das Ganze hier an diesen Leerzeichen auf. Jetzt habe ich ein einzelnes Array, aber in diesem Array sind Zeichenketten drin. Jetzt muss ich dafür sorgen, dass diese einzelnen Zeichenketten auch tatsächlich Zahlen werden, dass ich damit arbeiten kann. Und mit .map kann ich eine Funktion aufrufen auf jedes einzelne Element in diesem Array. Und die Funktion, die ich aufrufe, das ist eine eingebaute Funktion in JavaScript und die heißt einfach nur Number aus. Number schauen wir mal, aus Number 3 würde hier genau eine 3 werden, weil eben hier eine Zeichenkette, wenn sie denn konvertierbar ist, in eine Zahl konvertiert wird. Und jetzt habe ich in numbers ein Array aus einzelnen Zahlen, aus einzelnen Integers. Und dieses Array übergebe ich jetzt an die Funktion Math.max, sie ist auch in JavaScript eingebaut und hier habe ich diese sogenannte Spread Notation, diese drei Punkte. Das bedeutet, Math.max erwartet von mir normalerweise oder nicht nur normalerweise, sondern Math.max erwartet von mir kein Array, sondern eine Liste an Zahlen. Das können beliebig viele sein, aber es muss eine Komma-separierte Liste sein und kein Array. Jetzt könnte ich dieses Array hier in so eine Komma-separierte Liste irgendwie überführen, aber modern mache ich es einfach mit der sogenannten Spread-Syntax. Und jetzt kann ich plötzlich auch mein Array an diese Funktion Math.max übergeben. Das Gleiche mache ich hier mit Math.min, und es sind zwar zwei Zahlen, die würden jetzt durch das Pluszeichen addiert, aber dadurch, dass ich hier zwischendrin noch ein Leerzeichen reinnehme, wird der ganze Teil hier als Zeichenkette interpretiert. Dann kommt genau das raus, was ich hier auch erwarte, nämlich eine Zeichenkette mit der größten und mit der kleinesten Zahl.
Üben mit Projektdateien
Laden Sie die Dateien herunter, die von den Trainer:innen verwendet werden. So können Sie mitlesen und durch Ansehen, Zuhören und Üben lernen.
Inhalt
-
-
-
Kreditkartennummern maskieren4 Min. 9 Sek.
-
(Gesperrt)
Primzahl oder nicht?5 Min. 16 Sek.
-
(Gesperrt)
Kein X für ein U2 Min. 27 Sek.
-
(Gesperrt)
Benachbarte Quadratzahl2 Min. 52 Sek.
-
(Gesperrt)
Oh Tannenbaum5 Min. 55 Sek.
-
(Gesperrt)
Isogramme testen4 Min. 39 Sek.
-
(Gesperrt)
Ungerade Häufigkeiten entdecken3 Min. 26 Sek.
-
(Gesperrt)
Die goldene Mitte3 Min. 50 Sek.
-
(Gesperrt)
Lang und länger3 Min. 45 Sek.
-
(Gesperrt)
Vokale zählen3 Min. 5 Sek.
-
Auf und nieder3 Min. 10 Sek.
-
(Gesperrt)
Dreier und Fünfer2 Min. 36 Sek.
-
(Gesperrt)
Ausreißer aufspüren5 Min. 27 Sek.
-
(Gesperrt)
Doppelte Buchstaben aufspüren5 Min. 10 Sek.
-
(Gesperrt)
Der Zehn-Minuten-Spaziergang5 Min. 39 Sek.
-
(Gesperrt)
Einfacher IQ-Test3 Min. 25 Sek.
-
(Gesperrt)
Thomas gefällt das4 Min. 56 Sek.
-
(Gesperrt)
Einsen in binärer Schreibweise zählen4 Min. 7 Sek.
-
(Gesperrt)
Im Supermarkt warten6 Min. 9 Sek.
-
(Gesperrt)
Aus der Wüste: CamelCase4 Min. 31 Sek.
-
Römische Zahlen3 Min. 55 Sek.
-
(Gesperrt)
Streng geheim: Verschlüsselung4 Min. 57 Sek.
-
(Gesperrt)
Wortwerte zählen6 Min. 14 Sek.
-
(Gesperrt)
Bin ich schön? Narzisstische Zahlen3 Min. 29 Sek.
-
(Gesperrt)
DNA codieren4 Min. 5 Sek.
-