JSFiddle - React, Tailwind, and code Playground

by Jeff Santos

HTML

Enter Value (Between 1-1000):
<input type="textbox" id="valuee" />

<input type="button" value="Search Array" onclick="searchArray()" />
<div id="outcome">
  
</div>

JavaScript

var array = [1000];

var screenOut = "";




for (i = 0; i < 1000; i++) {
  array[i] = i + 1;
}


function searchArray() {
  var numbr = parseInt(document.getElementById("valuee").value);
  var min = 0;
  var max = array.length - 1;
  var compGuess;
	var count = 1;
	var compI;

  while (max >= min) {
  	if ((numbr < 1) || (numbr > 1000)) {
      screenOut = "Invalid! Choose a number between 1 and 1000.";
      document.getElementById("outcome").innerHTML = screenOut;
    }
     
     
     compI = Math.floor((min + max) / 2);
  	 compGuess = array[compI];

			if (compGuess === numbr) {
    
      screenOut = screenOut + "Guessed " + compGuess + " Got it. It only took me " + count + " guesses. </br>";
      document.getElementById("outcome").innerHTML = screenOut ;

      return compGuess;

  
    } else if (compGuess < numbr) {
      min = compI + 1;
      
     screenOut = screenOut + "Guessed " + compGuess + " Too Low </br>";
      document.getElementById("outcome").innerHTML = screenOut;
     count++;
    } else if (compGuess > numbr) {
      max = compI - 1;
        
      screenOut = screenOut + "Guessed " + compGuess + " Too High </br>";
      document.getElementById("outcome").innerHTML = screenOut;
      count++;
    }
      
  }
}