JSFiddle - React, Tailwind, and code Playground

by Erik East

HTML

<h2>Module 02</h2>
<h3>Assignment 01</h3>

<p>Pick a number (1-1000):
    <input style="width:50px;" type="textbox" id="number" />
</p>
<input style="margin-bottom: 20px;" type="button" value="Guess!" onClick="startGuessing();" />
<div id="guess"></div>

JavaScript

var array = new Array(1000);

	for (var i = 0; i < array.length; i++) {
    	array[i] = Math.floor(i + 1);
	}
function startGuessing() {
    var min = 0;
    var max = array.length;
    var number = parseInt(document.getElementById("number").value);
	var guess;

    while (min <= max) {
        guess = Math.floor((min + max) / 2);
        if (guess === number) {
            document.getElementById("guess").innerHTML += ("Guessed " + guess + " - Got it!</br>");
        }
		else if (array[guess] < number) {
            min = guess + 1;
            document.getElementById("guess").innerHTML += ("Guessed " + guess + " - too low.") + "</br>";
        }
		else {
            max = guess - 1;
            document.getElementById("guess").innerHTML += ("Guessed " + guess + " - too high.") + "</br>";
        }
    }
}