indexOf()显示意外值

Pra*_*wal 0 javascript

在做警报时,第一个元素的索引,即紫色正在显示-1.但是这对于获得正确的结果是意外的.因此我无法得到任何人帮助我的预期结果,以便我可以进一步编码.实际上m新的JavaScript,所以我面临这样的问题.希望你能尽快回答.

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;
}
Run Code Online (Sandbox Code Playgroud)

Wee*_*oze 5

你说你的guess_input就是violet,它返回-1

这是正常行为,因为violet您的数组中不存在此行为

["voilet","indigo","blue","green","yellow","orange","red"];
Run Code Online (Sandbox Code Playgroud)

有一个拼写错误:你写的voilet而不是violet