Javascript 为什么即使变量存在,该函数仍返回未定义的值?

Javascript 为什么即使变量存在,该函数仍返回未定义的值?,javascript,function,return,undefined,Javascript,Function,Return,Undefined,在这一点上,我尝试了console.log()几乎所有内容。我失踪可能有一个简单的原因,但我真的不能把心思放在上面。代码如下: const primes = []; //Function to determine if a number is prime function isPrime(num) { for (let i = 2; i < num; i++) if (num % i === 0 && num > 1) return fals

在这一点上,我尝试了
console.log()
几乎所有内容。我失踪可能有一个简单的原因,但我真的不能把心思放在上面。代码如下:

const primes = [];

//Function to determine if a number is prime
function isPrime(num) {
    for (let i = 2; i < num; i++)
        if (num % i === 0 && num > 1) return false;
    return true;
}

//Cycling through the number up until 100 and adding the primes to the array
for (let i = 0; i < 100; i++) {
    if (isPrime(i)) primes.push(i);
}

let min = 0, max = primes.length;

//Binary search algorithm
function binarySearch(array, target) {
    let guess = Math.floor((min + max) / 2);

    if (array[guess] === target) return guess;

    if (array[guess] < target) min = guess + 1;
    else max = guess - 1;

    binarySearch(array,target);
}

console.log(binarySearch(primes, 3));

const primes=[];
//函数确定一个数是否为素数
函数isPrime(num){
for(设i=2;i1)返回false;
返回true;
}
//循环数字直到100,并将素数添加到数组中
for(设i=0;i<100;i++){
if(isPrime(i))素数推(i);
}
设min=0,max=primes.length;
//二进制搜索算法
函数二进制搜索(数组、目标){
让猜测=数学地板((最小+最大)/2);
if(array[guess]==target)返回guess;
如果(数组[猜测]

我不明白为什么我没有定义为输出,即使有一个返回函数应该返回变量guess

很可能是由于您忘记从
binarySearch
函数返回而导致
未定义

请尝试以下操作:

function binarySearch(array, target) {
    // ... implementation

    return binarySearch(array,target);
}

我希望这有帮助

很可能是由于您忘记从
binarySearch
函数返回而导致
未定义

请尝试以下操作:

function binarySearch(array, target) {
    // ... implementation

    return binarySearch(array,target);
}

我希望这有帮助

谢谢!这么多头痛,就这么简单;无论如何,谢谢你帮我省去了很多麻烦!谢谢这么多头痛,就这么简单;无论如何,谢谢你帮我省去了很多麻烦!