При выполнении предупреждения индекс первого элемента, т.е. фиолетовый, отображается -1. Но это неожиданно для получения правильного результата. Если я не могу получить ожидаемый результат, кто-нибудь мне поможет что я могу пойти дальше в кодировании. Фактически m new для javascript, поэтому я столкнулся с такой проблемой. Надеюсь, вы ответите, как только сможете.indexOf(), отображающее неожиданное значение
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' возвращает' -1', когда элемент не был найден в массиве. У вас есть опечатка в вашем массиве 'colors' (voilet вместо фиалки) – AbM
FYI: Вопрос не должен быть закрыт для простой типографской ошибки, так как это не проблема. Топ проголосовавший ответ на исправление опечатки НЕ исправит код. – epascarello
Опечатка FIXED код .. это была ошибка – Weedoze