复制代码 代码如下: <br><br> //window.alert(Math.floor(5.7)); //向下取整 输出5 <P> //二分查找法 数组必须是有序的 <P> function binarySeach(arr,findval,leftIndex,rightIndex){<br><br> //找到中间的值<BR> var midIndex=Math.floor((leftIndex+rightIndex)/2);<BR> var midval=arr[midIndex];<br><br> //防止无穷递归<BR> if(leftIndex>rightIndex){<br><br> //说明找不到<BR> document.writeln("找不到");<BR> return ;<BR> } <P> //进行查找<BR> if(midval>findval){<br><br> //在左边找<BR> binarySeach(arr,findval,leftIndex,midIndex-1);<BR> }else if(midval<findval){ <P> //说明往右边找<BR> binarySeach(arr,findval,midIndex+1,rightIndex);<BR> }else{ <P> //找到了 输出或者返回<BR> document.writeln("找到了,下标为:"+midIndex);<BR> return ;<BR> }<BR> } <P> var arr=[1,3,12,21,24,44,54,67];<BR> binarySeach(arr,67,0,arr.length-1);<BR>