Array mit Zeichen des Wortes füllen.

cheeZy

Mitglied
Hi, ich möchte eine Array (bchstb) füllen. Und zwar mit den einzelnen Buchstaben eines Wortes.
Warum klappt es nicht, wenn ich es wie folgt mache:
Code:
function wortdreher() {
	wort = "hunde";
	länge = wort.length;
	var bchstb = new Array();
	i = 0;
	do {
		bchstb(i) = wort.charAt(i));
		i = i + 1;
	} while (i < länge);
}
Mache ich es so, zeigt er einfach nix an, weil er an der Stelle bchstb(i) = wort.charAt(i)); nicht weiter kommt. Wenn ich einfach nur alert(wort.charAt(i)) dort eingebe, gibt er mir alle Buchstaben der Reihe nach aus.
Danke schon mal :)
 
Hi,

die Komponenten eines Arrays werden über eckige Klammern angesprochen. Zudem hast du eine Klammer zuviel in der Anweisung an das Array (nach charAt).
Code:
bchstb[i] = wort.charAt(i);
Ausserdem solltest du auf Umlaute in Variablenbezeichnungen verzichten (besser laenge statt länge).

Ciao
Quaese
 
Moment, entweder ich bin immer noch doof und habs wieder falsch eingetipps oder irgendwas stimmt hier noch nicht:
Code:
function wortdreher() {
	wort = "hunde";
	laenge = wort.length;
	var bchstb = new Array();
	i = 0;
	do {
		bchstb[i] = wort.charAt(i);
		alert(buchstb[i]);
		i = i + 1;
	} while (i < laenge);
}

EDIT: sry, buchstb anstatt bchstb :p sry!
 
Zuletzt bearbeitet:
Ich weiß zwar nicht wo genau dein Fehler liegt aber damit funktioniert es:

Code:
function wortdreher() {
	wort = "hunde";
	laenge = wort.length;
	var characters = new Array(wort.length);
	var charactersInvert = new Array(wort.length);
	for(var i = 0; i < wort.length; i++){
		characters[i] = wort.charAt(i);
		charactersInvert[i] = wort.charAt(wort.length - 1 - i);
		alert(i + ": " + characters[i] + " - " + charactersInvert[i]);
	}
}
 
Zurück