function find2(arr, needle){ var len = arr.length, s=0,e = len -1, m = parseInt(e/2); while(s!=e){ if(arr[m]>needle){ e = m; } if(arr[m]<needle){ s = m; } if(arr[m]==needle){ return m; } m = parseInt((s+e)/2); } } var mm = [1,2,3,4,5,6,7,8,9,10]; alert(find2(mm, 3)); alert(find2(mm, 4));