gpt4 book ai didi

JavaScript 函数不返回任何内容

转载 作者:行者123 更新时间:2023-11-28 20:13:06 25 4
gpt4 key购买 nike

我做了一个函数,可以用分数关系来减少两个数字。它工作得很好,但问题是它不会返回值。我尝试了各种方法,例如声明一个新变量然后返回它,但它不起作用。我还添加了几个 console.logs 以查看它是否停止在某个位置,但什么也没有,它只是没有返回任何内容。

这是我的代码:

function reduceFraction(n, d) {
var numerator = n;
var denominator = d;

if (n % 7 === 0 && d % 7 === 0) {
numerator /= 7;
denominator /= 7;
console.log('Divided by 7');
reduceFraction(numerator, denominator);
} else {
if (n % 5 === 0 && d % 5 === 0) {
numerator /= 5;
denominator /= 5;
console.log('Divided by 5');
reduceFraction(numerator, denominator);
} else {
if (n % 3 === 0 && d % 3 === 0) {
numerator /= 3;
denominator /= 3;
console.log('Divided by 3');
reduceFraction(numerator, denominator);
} else {
if (n % 2 === 0 && d % 2 === 0) {
numerator /= 2;
denominator /= 2;
console.log('Divided by 2');
reduceFraction(numerator, denominator);
} else {
console.log('Was not divided by anything');
var reduced = numerator + "/" + denominator;
return reduced; //console.log(numerator + "/" + denominator); logs 1/18
}
}
}
}
}
reduceFraction(3, 54);

我不知道嵌套一堆 if 语句是否与它有任何关系,但这是目前(我能想到的)减少一小部分的唯一方法......提前致谢。

最佳答案

在递归函数中,您也需要return:

替换全部

    reduceFraction(numerator, denominator);

像这样:

    return reduceFraction(numerator, denominator);

关于JavaScript 函数不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19611227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com