问题描述
我试图在我的代码中编写二进制搜索,但是似乎每次我尝试运行它时。即使我清楚地编写了import math.js文件,它也会显示一条错误消息( Uncaught ReferenceError:math not defined )。我很确定代码中的某些地方出了问题。谁能帮我解释一下,这真的很有帮助!
顺便说一下,这是代码:
import math.js
var num = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
bilnum = num.length,target = 13;
mid = math.floor((left + right)/2);
function search(){
left = 0;
right = num.length - 1;
while(left <= right){
if(num[mid] == target){
return mid;
}
else if(target > mid){
right = num[mid] - 1;
}
else{
left = num[mid] + 1;
}
if(target === null){
document.write("Number doesn't exist")
}
document.write("The target index is" + num[target])
}
}
解决方法
两个问题:
bilnum = num.length,
到
bilnum = num.length;
和
mid = math.floor((left + right)/2);
收件人:
mid = Math.floor((left + right)/2);
,
尝试Math.js(大写M)