Verstehe das nicht (Strings, JavaScript)?

3 Antworten

Die Funktion soll zwei Strings entgegennehmen und ihre jeweiligen Längen miteinander addieren. Das Ergebnis soll anschließend wieder zurückgegeben werden.

function sumLength(text1, text2) {
  const sum = text1.length + text2.length;
  return sum;
}
  • Die Parameter text1 und text2 nehmen die beiden Argumente entgegen, die der Funktion bei Aufruf übergeben werden.
  • Über das length-Property lässt sich die Länge einer Zeichenkette ermitteln.
  • Die Summe der Längen wird in einer Variable sum gespeichert.
  • Via return-Befehl wird das Ergebnis an den äußeren Kontext wieder zurückgegeben.

GamersGame  07.04.2022, 01:17

Genau, die Funktion gibt dir nur die Anzahl der Zeichen aus.

0

Du rufst einfach die selbe Funktion (falsch) rekursiv ohne Parameter auf.

Das kann nicht klappen.


tetrotas 
Beitragsersteller
 04.04.2022, 19:27

Was kann ich machen?

0
Bananapeel321  04.04.2022, 19:30
@tetrotas

Dein Ansatz ist komplett unlogisch.

Du sollst die Länge der beiden Strings a und b (addiert) zurückgeben.

Du machst nichts dergleichen, sondern rufst deine Funktion einfach nochmal auf.

0
regex9  04.04.2022, 19:40
@Bananapeel321

Dem letzten Teil deines letzten Satzes kann ich nicht zustimmen. Es wird nur eine Referenz auf die Funktion zurückgegeben, doch diese nicht nochmals ausgeführt. Die log-Methode ruft folgend die toString-Methode für die erhaltene Referenz auf sumLength auf und gibt das Ergebnis (die Funktionsdefinition in Form eines Strings) in den Ausgabekanal der Konsole.

0

ich habe zwar noch nie javascript gebraucht. Du willst ja wissen wieviele buchstaben dein string hat ? Somit fehlt hier was:
Möglichkeit :

function sumLenght(a, b){

var output = a + b; //nicht sicher ob das hier gebraucht wird

return output;

}

console.log(sumLenght.lenght);


regex9  04.04.2022, 19:42

Du hast Buchstabendreher in deinem Code: length statt lenght wäre richtig.

0
Detrua  04.04.2022, 19:50
@regex9

ah da war wohl meine hand schneller als die ide von dieser Seite

0
Detrua  04.04.2022, 19:48

Sorry letztes sollte : console.log(sumLenght("test","test").length); sein

0
regex9  04.04.2022, 20:08
@Detrua

Du kommst auf diese Weise zwar zu dem richtigen Ergebnis, aber Sinn der Anwendung sollte es eigentlich sein, dass die Funktion die Berechnung durchführt. Andernfalls macht sie doch nicht das, was ihr Name (den ich eigentlich eher aussagekräftiger formulieren würde, als es die Aufgabenstellung wohl tut) verspricht und bei jedem Aufruf müsstest du das length-Property noch einmal hinten anhängen.

0
Detrua  04.04.2022, 20:11
@regex9

Stimmt. Wollte es aber gemäss seinem Bild gleich halten. Dazu war ich mir selber nicht sicher und wollte keine falsch information verbreiten.

0