Während des Alerts wird der Index des ersten Elements angezeigt, dh Violett wird angezeigt -1. Aber das ist unerwartet, um ein korrektes Ergebnis zu erhalten.Hier bin ich nicht in der Lage, das erwartete Ergebnis zu erhalten dass ich in der Kodierung weiter gehen kann. Wirklich m neu zu Javascript, also bin ich mit solch einem Problem konfrontiert. Hoffe, dass Sie answerme, sobald Sie können.indexOf() zeigt unerwarteten Wert
var colors = ["voilet", "indigo", "blue", "green", "yellow", "orange", "red"];
var target;
var target_index;
var guess_input;
var finished = false;
function do_game() {
var random_number = Math.random() * 7;
var random_number_integer = Math.floor(random_number);
var target_index = random_number_integer;
target = colors[target_index];
alert(target);
while (!finished) {
var guess_input = prompt("I am thinking of a color " +
"violet,indigo,blue,green,yellow,orange,red" +
"What is the color?");
alert(colors.indexOf(guess_input));
finished = check_guess();
}
}
function check_guess() {
if (colors.indexof(guess_input) < 0) {
alert('not present');
return false;
}
if (guess_input > target) {
alert('you gave large');
return false;
}
if (guess_input < target) {
alert('you gave small');
return false;
}
return true;
}
'indexOf' gibt' -1' zurück, wenn das Element nicht im Array gefunden wurde. Sie haben einen Tippfehler in Ihrem 'colours' Array (voilet statt violet) – AbM
Zu Ihrer Information: Die Frage sollte nicht wegen eines einfachen Tippfehlers geschlossen werden, da das hier nicht das Problem ist. Die am besten gewählte Antwort zur Behebung des Tippfehlers würde den Code NICHT reparieren. – epascarello
Der Tippfehler FIXED den Code .. das war der Fehler – Weedoze