const binarySearch = (list, item) => { let startIndex = 0; let endIndex = list.length - 1; while (startIndex <= endIndex) { let midIndex = Math.floor((startIndex + endIndex) / 2); const candidate = list[midIndex]; if (candidate === item) { console.log(`Item ${item} found at index ${midIndex}`); return midIndex; } if (candidate > item) { endIndex = midIndex - 1; } else { startIndex = midIndex + 1; } }; console.log(`Not found "${item}"`); return null; }; const list = [10, 20, 30, 50, 80, 100, 500]; binarySearch(list, 20); // 1 binarySearch(list, 40); // null