Hallo,
ich habe vor kurzem damit begonnen, Javascript zu lernen und hänge gerade etwas an einer Übungsaufgabe zur Rekursion. Dabei geht es darum, ein Dreieck zu zeichnen:
Kann mir jemand in eigenen Worten erklären, wie die Funktion buildTriangle funktioniert? Vor allem hänge ich an der Bedingung "topLineWidth === height", warum ist diese notwendig? Und warum wurde einmal die Funktion triangle und einmal buildTriangle verwendet, gibt es dazu keine elegantere Lösung?
Im Buch selbst steht leider keine Erklärung, vielen Dank vorab!
ich habe vor kurzem damit begonnen, Javascript zu lernen und hänge gerade etwas an einer Übungsaufgabe zur Rekursion. Dabei geht es darum, ein Dreieck zu zeichnen:
Code:
"use strict";
const triangle = height => buildTriangle(height, 0, "*");
const buildTriangle = (height, topLineWidth, character) =>
topLineWidth === height
? ""
: line(topLineWidth, character) + "\n"
+ buildTriangle(height, topLineWidth + 1, character);
const line = (length, character) =>
length === 0
? ""
: character + line(length - 1, character);
console.log(triangle(10));
Kann mir jemand in eigenen Worten erklären, wie die Funktion buildTriangle funktioniert? Vor allem hänge ich an der Bedingung "topLineWidth === height", warum ist diese notwendig? Und warum wurde einmal die Funktion triangle und einmal buildTriangle verwendet, gibt es dazu keine elegantere Lösung?
Im Buch selbst steht leider keine Erklärung, vielen Dank vorab!