title: Khan academy Algorithm: Binary Search Solution
body: <p>I was working towards algorithms in khan academy :
  <a href="https://www.khanacademy.org/computing/computer-science/algorithms/binary-search/p/challenge-binary-search" rel="noreferrer">https://www.khanacademy.org/computing/computer-science/algorithms/binary-search/p/challenge-binary-search</a>
  Most of the code below results in -1 ? Why is that?
  So Binary Search Wont work Efficiently ? </p>
  
  <pre><code>    var doSearch = function(array, targetValue) {
      var min = 0;
      var max = array.length - 1;
      var guess;
  
      while(min &lt; max) {
          guess = Math.floor((max + min) / 2);
  
          if (array[guess] === targetValue) {
              return guess;
          }
          else if (array[guess] &lt; targetValue) {
              min = guess + 1;
          }
          else {
              max = guess - 1;
          }
  
      }
  
      return -1;
  };
  
  var primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 
          41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97];
  
  for(var i=0;i&lt;primes.length;i++){
      var result = doSearch(primes,primes[i]);
      console.log("Found prime at index of " + primes[i] +" @ " + result);    
  }
  </code></pre>
  
  <p>Results:</p>
  
  <pre><code>Found prime at index of 2 @ 0
  Found prime at index of 3 @ -1
  Found prime at index of 5 @ 2
  Found prime at index of 7 @ 3
  Found prime at index of 11 @ -1
  Found prime at index of 13 @ 5
  Found prime at index of 17 @ 6
  Found prime at index of 19 @ -1
  Found prime at index of 23 @ 8
  Found prime at index of 29 @ -1
  Found prime at index of 31 @ 10
  Found prime at index of 37 @ -1
  Found prime at index of 41 @ 12
  Found prime at index of 43 @ 13
  Found prime at index of 47 @ -1
  Found prime at index of 53 @ 15
  Found prime at index of 59 @ 16
  Found prime at index of 61 @ -1
  Found prime at index of 67 @ 18
  Found prime at index of 71 @ 19
  Found prime at index of 73 @ -1
  Found prime at index of 79 @ 21
  Found prime at index of 83 @ -1
  Found prime at index of 89 @ 23
  Found prime at index of 97 @ -1
  </code></pre>
  
  <p>What am i missing?</p>