function binary_search_iterative(a, value) { var mid, lo = 0, hi = a.length - 1; while (lo <= hi) { mid = Math.floor((lo + hi) / 2); if (a[mid] > value) { hi = mid - 1; } else if (a[mid] < value) { lo = mid + 1; } else { return mid; } } return null; }