Files
JS/02_advanced/uebungen/u09_level-rekursiv/index.html
T
2026-09-23 10:47:07 +02:00

59 lines
1.7 KiB
HTML

<!doctype html>
<html lang="de">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Übung 9: Tiefste Ebene eines verschachtelten Arrays finden</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-warning">
<h2>Übung 9 (advanced): Tiefste Ebene eines verschachtelten Arrays finden</h2>
<p>
Schreibe eine rekursive Funktion in JavaScript, die die tiefste Ebene eines verschachtelten Arrays bestimmt.
Die Funktion soll die maximale Verschachtelungstiefe des Arrays zurückgeben.
</p>
</div>
</div>
</main>
<script>
'use strict';
const findDeepestLevel = (arr, currentLevel = 1) => {
return arr.reduce((max, element) => {
const level = Array.isArray(element) ? findDeepestLevel(element, currentLevel + 1) : currentLevel;
return max > level ? max : level;
}, currentLevel);
};
// Test cases
console.log(
findDeepestLevel([
1, //
[
2, //
[
3, //
[4],
],
5,
],
]),
); // => 4
console.log(findDeepestLevel([1, 2, 3, 4, 5])); // => 1
console.log(findDeepestLevel([])); // => 1
console.log(findDeepestLevel([1, [2], [3, [4, [5]]]])); // => 4
console.log(
findDeepestLevel([
1, //
[2, [3]],
[4, [5, [6]]],
]),
); // => 4
</script>
</body>
</html>