From 3d73f1617bba49656fda789b44305c2e8d6fd8b3 Mon Sep 17 00:00:00 2001 From: Philippe Torrel Date: Wed, 24 Jun 2026 15:06:38 +0200 Subject: [PATCH] --- 01_grundlagen/uebungen/#o01_palindrom.html | 45 +++++++ .../uebungen/#u30_quiz-dark-side.html | 50 -------- 01_grundlagen/uebungen/#u36_kekse-array.html | 88 ++++++++++++++ 01_grundlagen/uebungen/#u37-bus-stations.html | 81 +++++++++++++ 01_grundlagen/uebungen/#u38_alte-listen.html | 34 ++++++ ...ibert.html => u27-zerlegter-heribert.html} | 9 +- ...html => u28_transformierte-ladislaus.html} | 12 +- ...-nullen.html => u29_fuehrende-nullen.html} | 10 +- .../uebungen/u30_quiz-dark-side.html | 88 ++++++++++++++ ...console.html => u31_function-console.html} | 21 +++- ...aus.html => u32-tranformed-ladislaus.html} | 10 ++ ...33_newsletter.html => u33_newsletter.html} | 33 +++++- ...aus.html => u34-tranformed-ladislaus.html} | 16 ++- ...h.html => u35_reichweite-verbrauch-1.html} | 18 ++- .../uebungen/u35_reichweite-verbrauch-2.html | 112 ++++++++++++++++++ 01_grundlagen/uebungen/uebungen-35-38-o1.zip | Bin 0 -> 6584 bytes .../unterricht/tag06/11_str-substring.html | 6 + .../tag07/04_str-replace-replace-all.html | 2 + .../tag07/07_str-pad-start-pad-end.html | 10 ++ .../unterricht/tag08/01_volume-tube.html | 32 +++++ .../tag08/02_function-volume-tube.html | 58 +++++++++ .../tag08/03_guard-function-volume-tube.html | 78 ++++++++++++ .../tag08/04_rest-default-parameter.html | 58 +++++++++ .../unterricht/tag08/05_array-object.html | 79 ++++++++++++ .../unterricht/tag08/06_ar-push.html | 48 ++++++++ 01_grundlagen/unterricht/tag08/07_ar-pop.html | 41 +++++++ .../unterricht/tag08/08_ar-unshift.html | 48 ++++++++ .../unterricht/tag08/09_ar-shift.html | 41 +++++++ .../unterricht/tag08/10_ar-splice.html | 93 +++++++++++++++ .../unterricht/tag08/11_ar-slice.html | 51 ++++++++ .../unterricht/tag08/12_ar-sort.html | 57 +++++++++ .../tag08/13_ar-index-last-index-of.html | 50 ++++++++ .../unterricht/tag08/14_ar-join.html | 49 ++++++++ 33 files changed, 1359 insertions(+), 69 deletions(-) create mode 100644 01_grundlagen/uebungen/#o01_palindrom.html delete mode 100644 01_grundlagen/uebungen/#u30_quiz-dark-side.html create mode 100644 01_grundlagen/uebungen/#u36_kekse-array.html create mode 100644 01_grundlagen/uebungen/#u37-bus-stations.html create mode 100644 01_grundlagen/uebungen/#u38_alte-listen.html rename 01_grundlagen/uebungen/{#u27-zerlegter-heribert.html => u27-zerlegter-heribert.html} (78%) rename 01_grundlagen/uebungen/{#u28_transformierte-ladislaus.html => u28_transformierte-ladislaus.html} (72%) rename 01_grundlagen/uebungen/{#u29_fuehrende-nullen.html => u29_fuehrende-nullen.html} (77%) create mode 100644 01_grundlagen/uebungen/u30_quiz-dark-side.html rename 01_grundlagen/uebungen/{#u31_function-console.html => u31_function-console.html} (62%) rename 01_grundlagen/uebungen/{#u32-tranformed-ladislaus.html => u32-tranformed-ladislaus.html} (66%) rename 01_grundlagen/uebungen/{#u33_newsletter.html => u33_newsletter.html} (78%) rename 01_grundlagen/uebungen/{#u34-tranformed-ladislaus.html => u34-tranformed-ladislaus.html} (78%) rename 01_grundlagen/uebungen/{#u35_reichweite-verbrauch.html => u35_reichweite-verbrauch-1.html} (81%) create mode 100644 01_grundlagen/uebungen/u35_reichweite-verbrauch-2.html create mode 100644 01_grundlagen/uebungen/uebungen-35-38-o1.zip create mode 100644 01_grundlagen/unterricht/tag08/01_volume-tube.html create mode 100644 01_grundlagen/unterricht/tag08/02_function-volume-tube.html create mode 100644 01_grundlagen/unterricht/tag08/03_guard-function-volume-tube.html create mode 100644 01_grundlagen/unterricht/tag08/04_rest-default-parameter.html create mode 100644 01_grundlagen/unterricht/tag08/05_array-object.html create mode 100644 01_grundlagen/unterricht/tag08/06_ar-push.html create mode 100644 01_grundlagen/unterricht/tag08/07_ar-pop.html create mode 100644 01_grundlagen/unterricht/tag08/08_ar-unshift.html create mode 100644 01_grundlagen/unterricht/tag08/09_ar-shift.html create mode 100644 01_grundlagen/unterricht/tag08/10_ar-splice.html create mode 100644 01_grundlagen/unterricht/tag08/11_ar-slice.html create mode 100644 01_grundlagen/unterricht/tag08/12_ar-sort.html create mode 100644 01_grundlagen/unterricht/tag08/13_ar-index-last-index-of.html create mode 100644 01_grundlagen/unterricht/tag08/14_ar-join.html diff --git a/01_grundlagen/uebungen/#o01_palindrom.html b/01_grundlagen/uebungen/#o01_palindrom.html new file mode 100644 index 0000000..6378d25 --- /dev/null +++ b/01_grundlagen/uebungen/#o01_palindrom.html @@ -0,0 +1,45 @@ + + + + + + Optionale Übung optional 01: Palindrom Checker + + + +
+
+
+

Optionale Übung 01: Palindrom Checker

+ +

+ Ein Palindrom ist ein Wort, das vorwärts und rückwärts gelesen dasselbe ist. Ein guter Weg, um das zu + überprüfen, ist, das Wort umzukehren und zu sehen, ob es dem Original entspricht. Allerdings sollte man + dabei die Groß- und Kleinschreibung sowie Leerzeichen oder Sonderzeichen berücksichtigen. +

+

+ Schreibe eine JavaScript-Funktion namens isPalindrom, die eine Zeichenkette (string) als + Eingabe akzeptiert. Die Funktion soll true zurückgeben, wenn es sich bei der Zeichenkette um + ein Palindrom handelt, und false andernfalls. +

+

Beispiele:

+
    +
  • "anna"
  • +
  • "Lagerregal"
  • +
  • "Ein Esel lese nie"
  • +
+

Anforderungen:

+
    +
  • + Die Funktion soll nicht zwischen Groß- und Kleinschreibung unterscheiden (z. B. 'Anna' ist ein Palindrom). +
  • +
  • Leerzeichen und Satzzeichen sollen ignoriert werden.
  • +
+
+
+
+ + + diff --git a/01_grundlagen/uebungen/#u30_quiz-dark-side.html b/01_grundlagen/uebungen/#u30_quiz-dark-side.html deleted file mode 100644 index 73d5e62..0000000 --- a/01_grundlagen/uebungen/#u30_quiz-dark-side.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - Übung 30: Die dunkle Seite von JavaScript — der Kampf geht weiter - - - -
-
-
-

Übung 30: Die dunkle Seite von JavaScript — der Kampf geht weiter

- -

- Es wird Zeit, das Spiel weiter zu optimieren. Nimm dir eine der Fragen vor, die schon implementiert ist: -

-

»Was heißt if auf Deutsch?« (Mehrere Lösungsmöglichkeiten: wenn, falls).

-

- Der Code deckt schon drei verschiedene Lösungsmöglichkeiten ab. Aber was ist, wenn jemand statt - wenn Wenn oder WENN schreibt? -

-

- Das Thema Groß- und Kleinschreibung wird dir bei Benutzereingaben öfter begegnen. Für das Spiel würde es zum - Beispiel helfen, wenn der Spieler die Eingabe immer komplett kleinschreibt. Sicher ist der Spieler verwirrt, - wenn das Spiel seine Antwort Wenn als falsch quittiert. -

-

- Optimiere die betreffende Stelle im Spiel, indem du die Benutzereingabe in Kleinbuchstaben umwandelst — vor - Prüfung der if-Bedingung. -

-
-
-
- - - diff --git a/01_grundlagen/uebungen/#u36_kekse-array.html b/01_grundlagen/uebungen/#u36_kekse-array.html new file mode 100644 index 0000000..5fa42e2 --- /dev/null +++ b/01_grundlagen/uebungen/#u36_kekse-array.html @@ -0,0 +1,88 @@ + + + + + + Übung 36: Kekse backen mit Arrays + + + +
+
+
+

Übung 36: Kekse backen mit Arrays

+ + +

+ Du möchtest ein digitales Rezeptbuch schreiben. Die Zutaten für das jeweilige Rezept stellst du in einem + Array zur Verfügung. +

+ +
    +
  1. + Lege für das erste Rezept — Haferflocken-Kekse — ein Array mit den folgenden Zutaten an: + + +
    +1/4 cup vegetable oil
    +1 separated egg
    +1/2 cup sugar
    +1 tsp baking powder
    +                
    +
    +
  2. + +
  3. Da in der Liste das Mehl fehlt, musst du 1 EL Mehl (1 tsp flour) noch nachträglich ergänzen.
  4. + +
  5. + Beim Durchlesen der Liste fällt auf, dass die wohl wichtigste Zutat ebenfalls fehlt. Füge noch 100 g + Haferflocken (1 cup rolled oats) an die erste Position in die Zutatenliste ein. +
  6. +
  7. + Für Kekse ist es eigentlich besser, Butter statt Öl zu verwenden. Tausche das Öl in der Liste + dementsprechend gegen 75 g Butter (1/3 cup butter) aus. +
  8. + +
  9. + Wandle das Array nun in einen String um und speichere diesen in einer Variablen. Dabei sollen die Zutaten + als Liste ausgegeben werden. +
  10. + +
  11. + Und damit die Rezeptspielerei nicht total sinnlos war, bekommst du natürlich noch die Anleitung von uns + dazu. Speichere auch diese in einer Variable und gib das komplette Rezept in der Konsole aus. +
  12. +
+ +

Anleitung:

+
+ Melt the butter in a pan, add the rolled oats and mix everything well. Remove the mixture from heat and let + it cool. Add the sugar to the egg white and beat until stiff. Mix in the yolk, baking powder and flour. Now + mix in the cooled oat mixture. Shape small mounds of batter onto a baking sheet. These mounds should not be + too large, since the batter will spread out a little as it is baked. Bake for 15 minutes at 350 °F in a + pre-heated oven. +
+
+
+
+
+ + + diff --git a/01_grundlagen/uebungen/#u37-bus-stations.html b/01_grundlagen/uebungen/#u37-bus-stations.html new file mode 100644 index 0000000..85a9bae --- /dev/null +++ b/01_grundlagen/uebungen/#u37-bus-stations.html @@ -0,0 +1,81 @@ + + + + + + Übung 37: Die Kurzstreckenfahrt + + + +
+
+
+

Übung 37: Die Kurzstreckenfahrt

+

+ Nach dem Backen möchtest du ein bisschen Zug fahren. Du selbst befindest dich in New York in der Nähe der + Haltestelle Astoria-Ditmars Blvd. Deine Freunde, die dich und deine Kekse schon freudig erwarten, wohnen bei + der Haltestelle Queensboro Plaza. Da du aber nur ein Kurzstrecken-Ticket lösen möchtest, musst du den Rest + der Strecke laufen. Deswegen benötigst du die Haltestellen-Liste (siehe Grafik) nur bis zur Haltestelle + Broadway. +

+

Hinweis: Für diese Übung bietet es sich an, mit `slice` und `indexOf` zu arbeiten.

+ + + +
    +
  1. + Erstelle ein Array mit den Haltestellen der Linie W: + + +
    +'use strict';
    +
    +const LINE_W = [
    +  'Astoria-Ditmars Blvd',
    +  'Astoria Blvd',
    +  '30 Av',
    +  'Broadway',
    +  '36 Av',
    +  '39 Av',
    +  'Queensboro Plaza',
    +];
    +                
    +
    +
  2. + +
  3. Finde die Position der gewünschten Zielhaltestelle Broadway heraus.
  4. + +
  5. Entferne alle Haltestellen nach Broadway aus dem Array.
  6. + +
  7. + Schreibe eine Funktion, die dir nach Übergabe einer beliebigen Zielhaltestelle ein Array mit allen + Haltestellen ab Astoria-Ditmars Blvd bis zur Zielhaltestelle zurückgibt. +
  8. + +
  9. Erweitere die Funktion, sodass du auch die Starthaltestelle übergeben kannst.
  10. +
+
+
+
+
+ + + diff --git a/01_grundlagen/uebungen/#u38_alte-listen.html b/01_grundlagen/uebungen/#u38_alte-listen.html new file mode 100644 index 0000000..a437b8d --- /dev/null +++ b/01_grundlagen/uebungen/#u38_alte-listen.html @@ -0,0 +1,34 @@ + + + + + + Übung 38: Alte Listen + + + +
+
+
+

Übung 38: Alte Listen

+ +

+ NerdWorld stellt dir eine neue Aufgabe: Die Mitarbeiter haben Produkte früher in Excel-Listen verwaltet. Zu + Migrationszwecken haben die Mitarbeiter sie nun als CSV-Dateien (comma separated values) exportiert. Damit + sind dann alle Elemente in einer Liste durch Kommas getrennt. +

+

+ Schreibe eine Funktion handleCsv, die einen übergebenen CSV-String in ein Array splittet und alphabetisch + sortiert. Logge das fertig verarbeitete Array als Liste (pro Produkt eine Zeile) in die Konsole. +

+
+
+
+ + + diff --git a/01_grundlagen/uebungen/#u27-zerlegter-heribert.html b/01_grundlagen/uebungen/u27-zerlegter-heribert.html similarity index 78% rename from 01_grundlagen/uebungen/#u27-zerlegter-heribert.html rename to 01_grundlagen/uebungen/u27-zerlegter-heribert.html index a3d673a..0ecfefc 100644 --- a/01_grundlagen/uebungen/#u27-zerlegter-heribert.html +++ b/01_grundlagen/uebungen/u27-zerlegter-heribert.html @@ -1,4 +1,4 @@ - + @@ -25,6 +25,13 @@ const outputElement = document.querySelector('.output'); const name = 'Heribert Gold '.trim(); + + const spacePosition = name.indexOf(' '); + const firstName = name.substring(0, spacePosition); + const lastName = name.substring(spacePosition + 1).trim(); + + console.log(firstName); + console.log(lastName); diff --git a/01_grundlagen/uebungen/#u28_transformierte-ladislaus.html b/01_grundlagen/uebungen/u28_transformierte-ladislaus.html similarity index 72% rename from 01_grundlagen/uebungen/#u28_transformierte-ladislaus.html rename to 01_grundlagen/uebungen/u28_transformierte-ladislaus.html index 20ea065..d1209f2 100644 --- a/01_grundlagen/uebungen/#u28_transformierte-ladislaus.html +++ b/01_grundlagen/uebungen/u28_transformierte-ladislaus.html @@ -1,4 +1,4 @@ - + @@ -27,6 +27,16 @@ const outputEl = document.querySelector('.output'); const name = 'Ladislaus Jones'.trim(); + + const firstSpacePos = name.indexOf(' '); + const lastSpacePos = name.lastIndexOf(' '); + + const firstName = name.substr(0, firstSpacePos); + const secondName = name.substr(lastSpacePos); + + const firstNamefirstLetter = firstName.substr(0, 1).toUpperCase(); + + outputEl.textContent = `${secondName}, ${firstNamefirstLetter}.`; diff --git a/01_grundlagen/uebungen/#u29_fuehrende-nullen.html b/01_grundlagen/uebungen/u29_fuehrende-nullen.html similarity index 77% rename from 01_grundlagen/uebungen/#u29_fuehrende-nullen.html rename to 01_grundlagen/uebungen/u29_fuehrende-nullen.html index abf2a1c..f3a1385 100644 --- a/01_grundlagen/uebungen/#u29_fuehrende-nullen.html +++ b/01_grundlagen/uebungen/u29_fuehrende-nullen.html @@ -26,12 +26,20 @@
  • 007 => 007
  • +
    diff --git a/01_grundlagen/uebungen/u30_quiz-dark-side.html b/01_grundlagen/uebungen/u30_quiz-dark-side.html new file mode 100644 index 0000000..d1e4887 --- /dev/null +++ b/01_grundlagen/uebungen/u30_quiz-dark-side.html @@ -0,0 +1,88 @@ + + + + + + Übung 30: Die dunkle Seite von JavaScript — der Kampf geht weiter + + + +
    +
    +
    +

    Übung 30: Die dunkle Seite von JavaScript — der Kampf geht weiter

    + +

    + Es wird Zeit, das Spiel weiter zu optimieren. Nimm dir eine der Fragen vor, die schon implementiert ist: +

    +

    »Was heißt if auf Deutsch?« (Mehrere Lösungsmöglichkeiten: wenn, falls).

    +

    + Der Code deckt schon drei verschiedene Lösungsmöglichkeiten ab. Aber was ist, wenn jemand statt + wenn Wenn oder WENN schreibt? +

    +

    + Das Thema Groß- und Kleinschreibung wird dir bei Benutzereingaben öfter begegnen. Für das Spiel würde es zum + Beispiel helfen, wenn der Spieler die Eingabe immer komplett kleinschreibt. Sicher ist der Spieler verwirrt, + wenn das Spiel seine Antwort Wenn als falsch quittiert. +

    +

    + Optimiere die betreffende Stelle im Spiel, indem du die Benutzereingabe in Kleinbuchstaben umwandelst — vor + Prüfung der if-Bedingung. +

    +
    +
    +
    + + + diff --git a/01_grundlagen/uebungen/#u31_function-console.html b/01_grundlagen/uebungen/u31_function-console.html similarity index 62% rename from 01_grundlagen/uebungen/#u31_function-console.html rename to 01_grundlagen/uebungen/u31_function-console.html index 73ad771..227bbed 100644 --- a/01_grundlagen/uebungen/#u31_function-console.html +++ b/01_grundlagen/uebungen/u31_function-console.html @@ -1,4 +1,4 @@ - + @@ -19,9 +19,22 @@ const outputEl = document.querySelector('.output'); - /* - TODO: Schreibe eine Funktion, die deinen Namen in der Konsole ausgibt. - */ + const outputName = (name) => { + console.log(name); + alert(name); + }; + + outputName('Max Power'); + + // ===== + + const getName = (name) => { + return name[0].toUpperCase() + name.substring(1).toLowerCase(); + }; + + console.log(getName('philippe')); + alert(getName('adel')); + outputEl.textContent = getName('KaHlEeL'); diff --git a/01_grundlagen/uebungen/#u32-tranformed-ladislaus.html b/01_grundlagen/uebungen/u32-tranformed-ladislaus.html similarity index 66% rename from 01_grundlagen/uebungen/#u32-tranformed-ladislaus.html rename to 01_grundlagen/uebungen/u32-tranformed-ladislaus.html index 75aee92..2efa89b 100644 --- a/01_grundlagen/uebungen/#u32-tranformed-ladislaus.html +++ b/01_grundlagen/uebungen/u32-tranformed-ladislaus.html @@ -24,6 +24,16 @@ diff --git a/01_grundlagen/uebungen/#u33_newsletter.html b/01_grundlagen/uebungen/u33_newsletter.html similarity index 78% rename from 01_grundlagen/uebungen/#u33_newsletter.html rename to 01_grundlagen/uebungen/u33_newsletter.html index 8931008..c82350e 100644 --- a/01_grundlagen/uebungen/#u33_newsletter.html +++ b/01_grundlagen/uebungen/u33_newsletter.html @@ -1,4 +1,4 @@ - + @@ -99,15 +99,38 @@ showInvitationFor('Ladislaus', 'Music Festival', 'September 10', true); +
    diff --git a/01_grundlagen/uebungen/#u34-tranformed-ladislaus.html b/01_grundlagen/uebungen/u34-tranformed-ladislaus.html similarity index 78% rename from 01_grundlagen/uebungen/#u34-tranformed-ladislaus.html rename to 01_grundlagen/uebungen/u34-tranformed-ladislaus.html index 39ce653..afe1b5c 100644 --- a/01_grundlagen/uebungen/#u34-tranformed-ladislaus.html +++ b/01_grundlagen/uebungen/u34-tranformed-ladislaus.html @@ -1,4 +1,4 @@ - + @@ -69,12 +69,24 @@ const inputLastnameEl = document.querySelector('input[name="lastname"]'); // Funktionsdefinition + const transformName = (firstName, secondName) => { + const tName = `${secondName.charAt(0).toUpperCase() + secondName.substr(1).toLowerCase()}, ${firstName.charAt(0).toUpperCase()}.`; + return tName; + }; formTransformEl.addEventListener('submit', (e) => { e.preventDefault(); + + const name = transformName(inputFirstnameEl.value, inputLastnameEl.value); + outputEl.textContent = name; }); - // console.log(transformName('Max', 'Mustermann')); //=> 'Mustermann, M.' + // ===== + console.log(transformName('Max', 'Mustermann')); //=> 'Mustermann, M.' + console.log(transformName('Max', 'Power')); + console.log(transformName('adEL', 'jabaRkHel')); + console.log(transformName('kAHlEel', 'johNson')); + console.log(transformName('andreAs', 'rohLedEr')); diff --git a/01_grundlagen/uebungen/#u35_reichweite-verbrauch.html b/01_grundlagen/uebungen/u35_reichweite-verbrauch-1.html similarity index 81% rename from 01_grundlagen/uebungen/#u35_reichweite-verbrauch.html rename to 01_grundlagen/uebungen/u35_reichweite-verbrauch-1.html index 0276577..82e2f72 100644 --- a/01_grundlagen/uebungen/#u35_reichweite-verbrauch.html +++ b/01_grundlagen/uebungen/u35_reichweite-verbrauch-1.html @@ -62,7 +62,7 @@ diff --git a/01_grundlagen/uebungen/u35_reichweite-verbrauch-2.html b/01_grundlagen/uebungen/u35_reichweite-verbrauch-2.html new file mode 100644 index 0000000..29d2e6b --- /dev/null +++ b/01_grundlagen/uebungen/u35_reichweite-verbrauch-2.html @@ -0,0 +1,112 @@ + + + + + + Übung 35: Reichweite & Verbrauch, Teil 3 + + + +
    +
    +
    +

    Übung 35: Reichweite & Verbrauch, Teil 3

    +

    + Überarbeiten Sie Reichweite & Verbrauch, Teil 2 (Übung 18). Erstellen Sie passende Funktionen, die die + Benutzereingaben zurückgeben. +

    +
    +
    + +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +
    + + +
    +
    +
    + +
    +
    +
    + + +
    +
    +
    + +
    +
    + + + +
    +
    +
    + +
    +
    +
    +
    +
    + + + diff --git a/01_grundlagen/uebungen/uebungen-35-38-o1.zip b/01_grundlagen/uebungen/uebungen-35-38-o1.zip new file mode 100644 index 0000000000000000000000000000000000000000..6b6feba08e174f24dfc4225a7b9867eeac60a287 GIT binary patch literal 6584 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 literal 0 HcmV?d00001 diff --git a/01_grundlagen/unterricht/tag06/11_str-substring.html b/01_grundlagen/unterricht/tag06/11_str-substring.html index 2e7ed4a..b20e1fe 100644 --- a/01_grundlagen/unterricht/tag06/11_str-substring.html +++ b/01_grundlagen/unterricht/tag06/11_str-substring.html @@ -53,6 +53,12 @@ console.log('lorem ipsum'.substring(999)); // => '' console.log('lorem ipsum'.substring(-999)); // => 'lorem ipsum' console.log('lorem ipsum'.substring(999, -999)); // => 'lorem ipsum' + + console.log('Philippe'.substring(0, 4)); //=> 'Phil' + console.log('Philippe'.substr(0, 4)); // => 'Phil' + + console.log('Philippe'.substring(4, 2)); //=> 'il' + console.log('Philippe'.substr(4, 2)); //=> 'ip' diff --git a/01_grundlagen/unterricht/tag07/04_str-replace-replace-all.html b/01_grundlagen/unterricht/tag07/04_str-replace-replace-all.html index e9f8bf3..0894e21 100644 --- a/01_grundlagen/unterricht/tag07/04_str-replace-replace-all.html +++ b/01_grundlagen/unterricht/tag07/04_str-replace-replace-all.html @@ -44,6 +44,8 @@ // String Methode - str.replace('searchValue', 'replaceValue') + const regex = new RegExp(newProductName); + console.log('I love JS. JS is the best language'.replace('JS', 'TS')); // => 'I love TS. JS is the best language' diff --git a/01_grundlagen/unterricht/tag07/07_str-pad-start-pad-end.html b/01_grundlagen/unterricht/tag07/07_str-pad-start-pad-end.html index 7c19494..205605c 100644 --- a/01_grundlagen/unterricht/tag07/07_str-pad-start-pad-end.html +++ b/01_grundlagen/unterricht/tag07/07_str-pad-start-pad-end.html @@ -42,11 +42,21 @@ console.log(String(12345).padStart(10, '0')); //=> '0000012345' console.log((12345).toString().padStart(10, '0')); //=> '0000012345' + const creditNumber = '1234 5678 4332 12'; + console.log('1234 5678 4332 12'.replaceAll(' ', '').substr(-4).padStart(14, '#')); // => '##########3212' + console.log( + creditNumber + .replaceAll(' ', '') // => '12345678433212' + .substring(creditNumber.length - 4) // => substring(10) -> '3212' + .padStart(14, '#'), + ); // => '##########3212' // String Methode - str.padEnd(targetLength[, fillValue]) console.log('lorem'.padEnd(10)); //=> 'lorem '; console.log('12345'.padEnd(10, '0')); //=> '1234500000' + + console.log('1234'.padEnd(1)); //=> '1234' diff --git a/01_grundlagen/unterricht/tag08/01_volume-tube.html b/01_grundlagen/unterricht/tag08/01_volume-tube.html new file mode 100644 index 0000000..19b7a16 --- /dev/null +++ b/01_grundlagen/unterricht/tag08/01_volume-tube.html @@ -0,0 +1,32 @@ + + + + + + Zylindervolumen berechnen (tube) + + + +
    +
    +

    Zylindervolumen berechnen (tube)

    +
    +
    + + + diff --git a/01_grundlagen/unterricht/tag08/02_function-volume-tube.html b/01_grundlagen/unterricht/tag08/02_function-volume-tube.html new file mode 100644 index 0000000..244dbfe --- /dev/null +++ b/01_grundlagen/unterricht/tag08/02_function-volume-tube.html @@ -0,0 +1,58 @@ + + + + + + Zylindervolumen berechnen (tube) mit Funktion + + + +
    +
    +

    Zylindervolumen berechnen (tube) mit Funktion

    +
    +
    + + + diff --git a/01_grundlagen/unterricht/tag08/03_guard-function-volume-tube.html b/01_grundlagen/unterricht/tag08/03_guard-function-volume-tube.html new file mode 100644 index 0000000..5970608 --- /dev/null +++ b/01_grundlagen/unterricht/tag08/03_guard-function-volume-tube.html @@ -0,0 +1,78 @@ + + + + + + Zylindervolumen berechnen (tube) mit Funktion und Guard + + + +
    +
    +

    Zylindervolumen berechnen (tube) mit Funktion und Guard

    +
    +
    + + + diff --git a/01_grundlagen/unterricht/tag08/04_rest-default-parameter.html b/01_grundlagen/unterricht/tag08/04_rest-default-parameter.html new file mode 100644 index 0000000..d03c0dd --- /dev/null +++ b/01_grundlagen/unterricht/tag08/04_rest-default-parameter.html @@ -0,0 +1,58 @@ + + + + + + Rest- und Defaultparameter + + + +
    +
    +

    Rest- und Defaultparameter

    +
    +
    + + + diff --git a/01_grundlagen/unterricht/tag08/05_array-object.html b/01_grundlagen/unterricht/tag08/05_array-object.html new file mode 100644 index 0000000..035a5b0 --- /dev/null +++ b/01_grundlagen/unterricht/tag08/05_array-object.html @@ -0,0 +1,79 @@ + + + + + + Array Object + + + +
    +
    +

    Array - Object

    +

    + Array Object + - Das JavaScript-Array ist ein globales Objekt und Konstruktor für das Erstellen von Arrays, welche + listenähnliche Objekte sind. +

    +
    +
    + + + diff --git a/01_grundlagen/unterricht/tag08/06_ar-push.html b/01_grundlagen/unterricht/tag08/06_ar-push.html new file mode 100644 index 0000000..792e2f0 --- /dev/null +++ b/01_grundlagen/unterricht/tag08/06_ar-push.html @@ -0,0 +1,48 @@ + + + + + + Array - ar.push() + + + +
    +
    +

    Array - ar.push()

    +

    + + ar.push() + + - Die push() Methode fügt ein oder mehrere Elemente am Ende eines Arrays hinzu und gibt die + neue Länge des Arrays zurück. +

    +
    +
    + + + diff --git a/01_grundlagen/unterricht/tag08/07_ar-pop.html b/01_grundlagen/unterricht/tag08/07_ar-pop.html new file mode 100644 index 0000000..6bdc6ed --- /dev/null +++ b/01_grundlagen/unterricht/tag08/07_ar-pop.html @@ -0,0 +1,41 @@ + + + + + + Array - ar.pop() + + + +
    +
    +

    Array - ar.pop()

    +

    + + ar.pop() + + - Die pop() Methode entfernt das letzte Element eines Arrays und gibt dieses + zurück. Diese Methode ändert die Länge des Arrays. +

    +
    +
    + + + diff --git a/01_grundlagen/unterricht/tag08/08_ar-unshift.html b/01_grundlagen/unterricht/tag08/08_ar-unshift.html new file mode 100644 index 0000000..ced6aaa --- /dev/null +++ b/01_grundlagen/unterricht/tag08/08_ar-unshift.html @@ -0,0 +1,48 @@ + + + + + + Array - ar.unshift() + + + +
    +
    +

    Array - ar.unshift()

    +

    + + ar.unshift() + + - Die unshift() Methode fügt ein oder mehrere Elemente am Anfang eines Arrays hinzu und gibt + die neue Länge des Arrays zurück. +

    +
    +
    + + + diff --git a/01_grundlagen/unterricht/tag08/09_ar-shift.html b/01_grundlagen/unterricht/tag08/09_ar-shift.html new file mode 100644 index 0000000..ee70291 --- /dev/null +++ b/01_grundlagen/unterricht/tag08/09_ar-shift.html @@ -0,0 +1,41 @@ + + + + + + Array - ar.shift() + + + +
    +
    +

    Array - ar.shift()

    +

    + + ar.shift() + + - Die shift() Methode entfernt das erste Element eines Arrays und gibt + dieses zurück. Diese Methode ändert die Länge des Arrays. +

    +
    +
    + + + diff --git a/01_grundlagen/unterricht/tag08/10_ar-splice.html b/01_grundlagen/unterricht/tag08/10_ar-splice.html new file mode 100644 index 0000000..343a458 --- /dev/null +++ b/01_grundlagen/unterricht/tag08/10_ar-splice.html @@ -0,0 +1,93 @@ + + + + + + Array.splice() + + + +
    +
    +

    Array - ar.splice()

    +

    + + ar.splice() + + - Die splice() Methode ändert den Inhalt eines Arrays durch das Entfernen vorhandener + Elemente und/oder Hinzufügen neuer Elemente. +

    +
    +
    + + + diff --git a/01_grundlagen/unterricht/tag08/11_ar-slice.html b/01_grundlagen/unterricht/tag08/11_ar-slice.html new file mode 100644 index 0000000..7430a2d --- /dev/null +++ b/01_grundlagen/unterricht/tag08/11_ar-slice.html @@ -0,0 +1,51 @@ + + + + + + Array.slice() + + + +
    +
    +

    Array - ar.slice()

    +

    + + ar.slice() + + - Die slice() Methode schreibt eine flache Kopie von einem Teil des Arrays in ein neues + Array-Objekt von begin bis end (end nicht enthalten). Das originale Array wird nicht + verändert. (side-effect-free) +

    +
    side-effect-free
    +
    +
    +
    + + + diff --git a/01_grundlagen/unterricht/tag08/12_ar-sort.html b/01_grundlagen/unterricht/tag08/12_ar-sort.html new file mode 100644 index 0000000..d03dc89 --- /dev/null +++ b/01_grundlagen/unterricht/tag08/12_ar-sort.html @@ -0,0 +1,57 @@ + + + + + + Array.sort() + + + +
    +
    +

    Array - ar.sort()

    +

    + + ar.sort() + + - Die sort() Methode sortiert die Elemente eines Arrays in-place und gibt das + Array zurück. Standardmäßig werden alle Elemente in Strings umgewandelt und dann anhand ihrer UTF-16 + Codepoints miteinander verglichen. +

    +
    + Das angesprochene Array wird durch in-place-mutation ebenfalls sortiert. +
    +
    +
    +
    + + + diff --git a/01_grundlagen/unterricht/tag08/13_ar-index-last-index-of.html b/01_grundlagen/unterricht/tag08/13_ar-index-last-index-of.html new file mode 100644 index 0000000..70c2360 --- /dev/null +++ b/01_grundlagen/unterricht/tag08/13_ar-index-last-index-of.html @@ -0,0 +1,50 @@ + + + + + + Array - ar.indexOf() + + + +
    +
    +

    Array - ar.indexOf()

    +

    + + ar.indexOf() + + - Die Methode indexOf() gibt den Index zurück, an dem ein bestimmtes Element im Array zum + ersten Mal auftritt oder -1 wenn es nicht vorhanden ist. +

    +
    +
    +
    + + + diff --git a/01_grundlagen/unterricht/tag08/14_ar-join.html b/01_grundlagen/unterricht/tag08/14_ar-join.html new file mode 100644 index 0000000..984c3d4 --- /dev/null +++ b/01_grundlagen/unterricht/tag08/14_ar-join.html @@ -0,0 +1,49 @@ + + + + + + Array - ar.join() + + + +
    +
    +

    Array - ar.join()

    +

    + + ar.join() + + - Die join() Methode von Array Instanzen erstellt und gibt einen neuen String zurück, indem alle + Elemente in diesem Array verkettet werden, getrennt durch Kommas oder einem angegebenen Trennzeichen-String. + Wenn das Array nur ein Element hat, wird dieses Element ohne Verwendung des Trennzeichens zurückgegeben. +

    +
    +
    +
    + + +