binary search in ES6

JavaScript

let steps = 0;

// O(log(n))
// each time the array gets halfed until value is found
// or not.
const binarySearch = (array, value) => {
	const length = array.length;
  const middle = Math.floor(length/2);
  const middleElement = array[middle];
  
  steps++;
  
  if (length === 1) {
  	if (array[0] === value) {
    	return true;
    } else {
    	return false;
    }
  }
  
  if (middleElement > value) {
  	const leftSide = array.slice(0, middle + 1);
  	return binarySearch(leftSide, value);
  } else if (middleElement < value) {
  	const rightSide = array.slice(middle, length);
    return binarySearch(rightSide, value);
  } else {
  	console.log('steps: '+steps);
  	return true;
  }
};

console.log(binarySearch([1,2,3,4,5,6,7,8,9,10], 11))