diff --git a/01 - JavaScript Drum Kit/index-START.html b/01 - JavaScript Drum Kit/index-START.html
index 4070d32767..abd4c7b416 100644
--- a/01 - JavaScript Drum Kit/index-START.html
+++ b/01 - JavaScript Drum Kit/index-START.html
@@ -1,66 +1,102 @@
-
-
- JS Drum Kit
-
-
-
+
+
+ JS Drum Kit
+
+
+
+
+
+ A
+ clap
+
+
+ S
+ hihat
+
+
+ D
+ kick
+
+
+ F
+ openhat
+
+
+ G
+ boom
+
+
+ H
+ ride
+
+
+ J
+ snare
+
+
+ K
+ tom
+
+
+ L
+ tink
+
+
+
+
+
+
+
+
+
+
+
-
-
- A
- clap
-
-
- S
- hihat
-
-
- D
- kick
-
-
- F
- openhat
-
-
- G
- boom
-
-
- H
- ride
-
-
- J
- snare
-
-
- K
- tom
-
-
- L
- tink
-
-
+
+ const resetKey = (e) => {
+ if (e.propertyName !== "transform") {
+ return;
+ }
+ e.target.classList.remove("playing");
+ };
-
+ for (const key of keys.values()) {
+ key.addEventListener("transitionend", resetKey);
+ }
+
+
diff --git a/02 - JS and CSS Clock/index-START.html b/02 - JS and CSS Clock/index-START.html
index 7a6d27d5bd..f01b2c0f9b 100644
--- a/02 - JS and CSS Clock/index-START.html
+++ b/02 - JS and CSS Clock/index-START.html
@@ -1,12 +1,10 @@
-
-
- JS + CSS Clock
-
-
-
-
+
+
+ JS + CSS Clock
+
+
+
- .clock {
- width: 30rem;
- height: 30rem;
- border: 20px solid white;
- border-radius: 50%;
- margin: 50px auto;
- position: relative;
- padding: 2rem;
- box-shadow:
- 0 0 0 4px rgba(0,0,0,0.1),
- inset 0 0 0 3px #EFEFEF,
- inset 0 0 10px black,
- 0 0 10px rgba(0,0,0,0.2);
- }
+
-
+ setInterval(tick, 1000);
+ tick();
+
+
diff --git a/03 - CSS Variables/index-START.html b/03 - CSS Variables/index-START.html
index 6b9b539c09..c4803df320 100644
--- a/03 - CSS Variables/index-START.html
+++ b/03 - CSS Variables/index-START.html
@@ -1,51 +1,94 @@
-
-
- Scoped CSS Variables and JS
-
-
- Update CSS Variables with JS
+
+
+ Scoped CSS Variables and JS
+
+
+ Update CSS Variables with JS
-
-
+
-
- .controls {
- margin-bottom: 50px;
- }
+
+ document.documentElement.style.setProperty(variableName, value);
+ };
-
+ controls.forEach((control) => {
+ control.addEventListener("input", updateVariable);
+ });
+
+
diff --git a/04 - Array Cardio Day 1/index-START.html b/04 - Array Cardio Day 1/index-START.html
index 21bec96e8c..d2a8456f37 100644
--- a/04 - Array Cardio Day 1/index-START.html
+++ b/04 - Array Cardio Day 1/index-START.html
@@ -1,65 +1,166 @@
-
-
- Array Cardio ๐ช
-
-
- Psst: have a look at the JavaScript Console ๐
-
-
+ // 7. sort Exercise
+ // Sort the people alphabetically by last name
+ const solution7 = people.sort((a, b) => {
+ const [aName] = a.split(", ");
+ const [bName] = b.split(", ");
+
+ if (aName > bName) {
+ return 1;
+ }
+
+ return -1;
+ });
+ console.log(solution7);
+
+ // 8. Reduce Exercise
+ // Sum up the instances of each of these
+ const data = [
+ "car",
+ "car",
+ "truck",
+ "truck",
+ "bike",
+ "walk",
+ "car",
+ "van",
+ "bike",
+ "walk",
+ "car",
+ "van",
+ "car",
+ "truck",
+ ];
+ const solution8 = data.reduce((instances, item) => {
+ instances[item] = instances[item] ? instances[item] + 1 : 1;
+ return instances;
+ }, {});
+ console.table(solution8);
+
+