【发布时间】:2020-08-17 14:04:09
【问题描述】:
我尝试在我的代码中编写二进制搜索,但似乎每次我尝试运行它。它显示了一条错误消息(Uncaught ReferenceError: math is not defined),尽管我清楚地写了 import math.js 文件。我很确定我的代码中某处出了点问题。任何人都可以向我解释这将非常有帮助!
顺便说一下,代码如下:
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])
}
}
【问题讨论】:
-
按 F12 以调出开发者控制台并查看是否还有其他错误。值得一提的是,JavaScript 包含 Math.floor,您可能不需要该库。 developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
-
谢谢我刚刚意识到 math.floor 中的“M”不是大写字母:P
-
import math.js,请阅读有关import工作原理的介绍。请阅读getting started。
标签: javascript binary-search math.js