Felix Riesterer: String in Array konvertieren

Beitrag lesen

Lieber heinetz,

for (var my_item in my_array) {
 ... do something
}

willst Du über Objekteigenschaften iterieren? Bei Arrays kann man bequem die forEach-Methode mit callback-Funktion nutzen.

Das funktioniert richtig, solange my_array ein Array ist. Nun kann es aber sein, dass in my_array ein string steht.

Auch dann funktioniert es richtig! Mit for in kommst Du auch bei Strings an die Objekteigenschaften heran.

Ich könnte folgendermassen dafür sorgen, dass my_array in dem Fall zu einem Array mit einem Element konvertiert wird:

Warum willst Du, dass ein String ein Array ist? Willst Du über die einzelnen Zeichen iterieren? Dann ist Dein Ansatz ungeeignet!

var a = {
    array: ["eins", "zwei", "drei"],
    string: "eins zwei drei"
};

for (var eigenschaft in a) {

    for (var i=0; i < a[eigenschaft].length; i++) {
        console.log(a[eigenschaft][i]);
    }
}

/* Ausgabe der Browser-Console:
eins debugger eval code:9:9
zwei debugger eval code:9:9
drei debugger eval code:9:9
e debugger eval code:9:9
i debugger eval code:9:9
n debugger eval code:9:9
s debugger eval code:9:9
 debugger eval code:9:9
z debugger eval code:9:9
w debugger eval code:9:9
e debugger eval code:9:9
i debugger eval code:9:9
 debugger eval code:9:9
d debugger eval code:9:9
r debugger eval code:9:9
e debugger eval code:9:9
i debugger eval code:9:9
*/

Hier hast Du beide Herangehensweisen vorgeführt.

Liebe Grüße,

Felix Riesterer.