JSFiddle - React, Tailwind, and code Playground

by sushant_ceb

JavaScript

// Binary Search
function findIndex(values, target) 
{
  return binarySearch(values, target, 0, values.length - 1);
};

function binarySearch(values, target, start, end) {
  if (start > end) { return -1; } //does not exist

  var middle = Math.floor((start + end) / 2);
  var value = values[middle];

  if (value > target) { return binarySearch(values, target, start, middle-1); }
  if (value < target) { return binarySearch(values, target, middle+1, end); }
  return middle; //found!
}

console.log(findIndex([2, 4, 7, 9, 13, 15], 13));