Binary Search Problem

Showing problem with Binary Search

by jessekinsman

HTML

<div id="container"></div>

JavaScript

function binarySearch(arr, item) {
    let startIndex = 0;
    let endIndex = arr.length - 1;

    while (startIndex < endIndex) {
        let middleIndex = Math.floor((startIndex + endIndex) / 2);

        if (arr[middleIndex] === item) {
            return `Found at index ${middleIndex}`;
        }

        if (arr[middleIndex] < item) {
            startIndex = middleIndex + 1;
        } else {
            endIndex = middleIndex - 1;
        }
    }

    return `Not Found ${item}`;
}

function nodeFactory(nodeType, contents) {
	var node = document.createElement(nodeType);
  node.innerHTML = contents;
  return node;
}

var container = document.getElementById('container');
var result = binarySearch([5, 10, 20, 30, 40], 30);
var resultNode = nodeFactory("p", result);
container.append(resultNode);
result = binarySearch([5, 10, 20, 30, 40], 10);
var resultNode = nodeFactory("p", result);
container.append(resultNode);
result = binarySearch([5, 10, 20, 30, 40], 40);
var resultNode = nodeFactory("p", result);
container.append(resultNode);