Javascript-Fehler?
Hallo, ich habe ein Problem ich programmiere gerade einen "Vokabel-Trainer". Unteranderem brauche ich dafür Javascript, denn ich habe auch einen "Vokabel-Test" eingefügt, wo ein Deutsches Wort da steht und man das Englische Wort hinschreiben muss. Soweit funktioniert alles, aber ich möchte auch, dass "Falsch!" oder "Richtig!" da steht. Es steht aber immer nur "Falsch!" da, weil ja das gesuchte Wort in Deutsch steht und man das Englische schreiben muss. Wie übersetzt man das?
Hier der Code:
(Zur Klarstellung: "randomEnglishWord" ist Deutsch und "englishText.value" ist Englisch, und "dictionary" sind eben die Vokabeln in Deutsch und Englisch")
function nextVocab() {
let obj_keys = Object.keys(dictionary);
randomEnglishWord = obj_keys[Math.floor(Math.random() * obj_keys.length)];
wort.innerHTML = `${randomEnglishWord}?`;
}
function comparezwei(){
if (englishText.value == randomEnglishWord) {
textzwei.innerHTML = 'Richtig!';
} else {
textzwei.innerHTML = 'Falsch!';
}
englishText.value = '';
nextVocab();
}
2 Antworten
Du kannst bei deinem Dictionary/Objekt dictionary[key] machen, um die entsprechende Value zum Key zu erhalten. In dem Fall das passende Englische Wort zum Deutschen Wort.
Dein if muss also lauten:
if (englishText.value === dictionary[randomEnglishWord]) {
textzwei.innerHTML = 'Richtig!';
} else {
textzwei.innerHTML = 'Falsch!';
}
Du musst dann in deiner if bedingung ein „ logisches oder“ für die Fallunterscheidung zwischen den beiden Sprachen benutzen
Kann man das nicht irgendwie übersetzen. Also dass ich "englishText.value" einfach ins Deutsche übersetze oder "randomEnglishWord" ins Englische. Geht das?
Ist mir nicht bekannt, habs vorher zur Sicherheit recherchiert, es gibt keine Bibliothek die das anbietet
Bruh er hat ein eigenes Dictionary, schau dir mal seinen Code an...
Wenns funktioniert muss er die Frage ja nicht strllen, da ich es anhand der vergleichsoperatoren erklärte
Es funktioniert natürlich, wenn man's richtig macht, aber er weiß wohl nicht wie.
Ok, probiere mal in deiner jetzigen Fallunterscheidung den equals Operator zu benutzen, der lautet: ===
Ok, probiere mal in deiner jetzigen Fallunterscheidung den equals Operator zu benutzen, der lautet: ===, aber du musst, zu deiner eigentlichen Frage eine neue Liste mit den richtigen englischen Wörtern benutzen, da dieser Vergleich von Deutsch und Englisch keinesfalls funktioniert, falls du keine Datenbank zum auslesen hättest.
Du kannst auch andere Datentypen wie Tulpe oder Arrays benutzen
Hey cool. Es hat funktioniert. Bin noch ein Javascript-Anfänger und du hast mir sehr geholfen danke!