feat: added 03_dom

This commit is contained in:
Philippe Torrel
2026-07-13 10:38:22 +02:00
parent 6292cabfee
commit e0bd3930d9
134 changed files with 21947 additions and 26 deletions

View File

@@ -0,0 +1,53 @@
<!doctype html>
<html lang="de">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Übung 10: Summe aller Zahlen in einem verschachtelten Array</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.8/dist/css/bootstrap.min.css" rel="stylesheet" />
</head>
<body>
<main>
<div class="container py-5">
<div class="alert alert-primary">
<h2>Übung 10: Summe aller Zahlen in einem verschachtelten Array</h2>
<p>
Schreibe eine rekursive Funktion in JavaScript, die die Summe aller Zahlen in einem verschachtelten Array
berechnet. Das Array kann beliebig tief verschachtelt sein und enthält nur Zahlen oder weitere Arrays.
</p>
</div>
</div>
</main>
<script>
'use strict';
const sumNestedArray = (arr) => {
// Basisfall: Wenn das Array leer ist, ist die Summe 0
if (arr.length === 0) {
return 0;
}
// Nimm das erste Element des Arrays
const first = arr[0];
const rest = arr.slice(1);
let sumFirst = 0;
// Wenn das erste Element ein Array ist, rufe die Funktion rekursiv auf
if (Array.isArray(first)) {
sumFirst = sumNestedArray(first);
} else if (!isNaN(first)) {
// Wenn es eine Zahl ist, füge sie zur Summe hinzu
sumFirst = Number(first);
}
// Rekursiver Fall: Summe des ersten Elements + Summe des restlichen Arrays
return sumFirst + sumNestedArray(rest);
};
// Test cases
console.log(sumNestedArray([1, [2, [3, 4], 5], 6])); // => 21
console.log(sumNestedArray([[[[1]]], 2, [3, [4, [5]]]])); // => 15
console.log(sumNestedArray([])); // => 0
console.log(sumNestedArray([10, [20, [30, [40]]]])); // => 100
console.log(sumNestedArray([1, 'a', [2, 'b', [3, 4]], 5])); // => 15 (ignoriert Nicht-Zahlen)
</script>
</body>
</html>