JavaScript Wörter aus Sätzen zu Array machen?
Es ist eigentlich gar nicht schwer aber ich komm nicht mehr darauf wie ich das gemacht habe.
Beispiel
let x = "hallo wie gehts es dir";
und das Array soll dann so aussehen :
output = ["hallo", "wie" ,"geht","es","dir"];
Mein Ansatz war das
x ="hallo wie geht es dir";
output = '[' + x.split("") + ']';
alert(output);
und das kam dabei
[h,a,l,l,o, ,w,i,e, ,g,e,h,t, ,e,s, ,d,i,r, ]
Wie man sieht keine " " oder ' ' und jeder Buchstabe hat ein Komma anstatt jedes Wort.
hab die Datei gelöscht Ausversehen, spart mir aber viel Zeit eigentlich.
3 Antworten
let x ="hallo wie geht es dir";
output = '["'+(x.split(" ")).join('","')+'"];';
alert(output);
/*
["hallo","wie","geht","es","dir"];
*/
Danke es funktioniert, wäre noch 10 Minuten lang 100 Möglichkeiten durchgegangen
Du hast "" gemacht, somit ist nichts zwischen den Anführungszeichen. Wenn du am Leerzeichen trennen willst, musst du auch eins setzen, also " "
Das verwirrt mich jetzt maximal, weil es aussieht wie PHP mit dem ) . ' " '
Ave!
x.split("")
Du trennst hier nach jedem Zeichen, egal welches es ist, weil du als Trennzeichen nichts (= null) übergeben hast.
x.split(" ")
Nun wird als Trennzeichen ein Leerzeichen genutzt und an der richtigen Stelle getrennt.
Zudem erstellst du das Array als String, was zwar wie ein ausgegebenes Array aussieht, aber keines ist.
const x = "hallo wie geht es dir";
let arr = x.split(" "); // Array wird erstellt bzw. zurück gegeben.
alert(arr); // Ausgabe des Arrays
alert(arr[2]); // Ausgabe des Elements mit dem Index 2, sprich: das Dritte Element; Erwartete Ausgabe: "geht";
In deinem Beispiel könnte man nicht das Array indizieren, sondern nur den String und hier würde "alert(output[2])" das dritte Zeichen im String (also: "a") ausgeben.
Zudem erstellst du das Array als String, was zwar wie ein ausgegebenes Array aussieht, aber keines ist.
Ja ich glaub das hätte ich dazu schreiben sollen, ich erstelle mir viele solcher kleinen tools die aussehen wie JavaScript damit ich nicht jedes dasselbe auf stackoverflow lesen muss wie das und das geht.
Kannst du mir vielleicht noch einen tipp für die " " geben zwischen den wörtern.
(Also es soll nur aussehen wie ein array damit ich schneller arbeiten kann)