Gunnar Bittersmann: string umbrechen?

Beitrag lesen

Hello out there!

var TEXT = "dddddddddddddddddasdffffffffffffffffsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssdddddddddddddaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
var aa = 0;
var ee = 29;
counter = 0;
for(var ii = 0;ii < TEXT.length; ii + 30)
{
var breakString[counter] = TEXT.substring(aa,ee);

Bevor du ein Arrayelement ansprechen kannst, musst du das http://de.selfhtml.org/javascript/objekte/array.htm@title=Array erzeugen:
var breakString = new Array(); – vor der Schleife natürlich!

Zugriff auf Arrayelemente in der Schleife dann ohne Schlüsselwort 'var':
breakString[counter] = TEXT.substring(aa,ee);

Wenn du den so verbesserten Code ausführst, wirst du merken, dass die Schleife ohne Ende läuft und läuft und läuft ...

Schau dir nochmal die http://de.selfhtml.org/javascript/sprache/schleifen.htm#for@title='for'-Schleife an. In der letzten Anweisung berechnest du zwar 'ii + 30', weist das Ergebnis aber keiner Variablen zu. ii behält also unverändert seinen Wert, du kannst es so oft vergleichen ('ii < TEXT.length') wie du willst, die Schleife terminiert nicht.

Du meintest vermutlich 'ii = ii + 30', was du auch als 'ii += 30' schreiben kannst.

Dann läuft das Script zwar durch, erzeugt aber nicht das gewünschte Ergebnis. Das fällt dir auf, wenn du als Teststring nicht einen mit sich unmittlebar nacheinander wiederholenden Zeichen nimmst, sondern z.B. "12345678901234567890123456789012345678901234567890". Die erste Zeile ist länger als die nachfolgenden, und ein Zeichen geht jeweils bei jedem Zeilenwechsel verloren.

Überhaupt ist dein Script zu kompliziert; bei einer späteren Änderung der Zeichenanzahl pro Zeile möchtest du drei Stellen im Code anpassen? Du hast dir die Erklärungen der Methoden http://de.selfhtml.org/javascript/objekte/string.htm#substr@title=substr() und http://de.selfhtml.org/javascript/objekte/string.htm#substring@title=substring() aufmerksam durchgelesen und dich für die richtige entschieden?

See ya up the road,
Gunnar

PS: Und nicht drängeln!

--
„Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)