Javascript 使用结果并将其作为新参数传递的函数
Javascript function that uses result and passes it as new argument
我想使用 Javascript 编写一个函数,returns 来自控制台中一系列计算的结果。 运行 时的函数接受一个数字 N 并对其进行一些数学运算,然后获取结果并将其传递给相同的函数产生另一个结果,然后获取该结果并做同样的事情,并重复直到达到 1 或 0。基本上,它需要一个初始数字,N ,产生一个答案,然后采用该答案并将其用作新的 N,如此重复直到 N === 1 || 0.
目前,我只得到第一个结果,并且打印了 N 次。
N = 350;
Current output:
50
50
50
50
50
50
... 344 items left
Expected output:
50
7
1
如何获取结果 50,并将其作为 N 的新参数传递并重复此操作?
函数:
let N = 350;
function compute(N) {
for (var i = 1; i < N; i++) {
let rS = N / 3.5;
let result = rS / 2;
let rounded = Math.round(result);
if (rounded === 1 || 0) {
console.log(rounded);
} else {
console.log(`N = ${result}`)
}
}
return null;
}
return factor(N);
let rs = N / 3.5;
let result = rS / 2; // Doing this is exactly the same as dividing by 7 since the `rS` variable isn't used anywhere else in the function
rounded === 1 || 0
// 这个条件没有意义,因为如果 rounded === 1
失败,其他 0 仍然等于 0 而你应该使用 rounded >= 0 && rounded < 2
或 rounded == 1 || rounded == 0
当您不使用 i
变量的值时,我也没有看到使用 for
循环
您可以将结果用作函数的新参数。通过使用结果再次调用该函数。像这样的函数称为递归函数。
let N = 350;
function compute(N) {
const result = N / 7;
const rounded = Math.floor(result);
console.log(rounded);
if (rounded >= 0 && rounded < 2) return rounded;
else compute(result);
}
compute(N);
我想使用 Javascript 编写一个函数,returns 来自控制台中一系列计算的结果。 运行 时的函数接受一个数字 N 并对其进行一些数学运算,然后获取结果并将其传递给相同的函数产生另一个结果,然后获取该结果并做同样的事情,并重复直到达到 1 或 0。基本上,它需要一个初始数字,N ,产生一个答案,然后采用该答案并将其用作新的 N,如此重复直到 N === 1 || 0.
目前,我只得到第一个结果,并且打印了 N 次。
N = 350;
Current output:
50
50
50
50
50
50
... 344 items left
Expected output:
50
7
1
如何获取结果 50,并将其作为 N 的新参数传递并重复此操作?
函数:
let N = 350;
function compute(N) {
for (var i = 1; i < N; i++) {
let rS = N / 3.5;
let result = rS / 2;
let rounded = Math.round(result);
if (rounded === 1 || 0) {
console.log(rounded);
} else {
console.log(`N = ${result}`)
}
}
return null;
}
return factor(N);
let rs = N / 3.5;
let result = rS / 2; // Doing this is exactly the same as dividing by 7 since the `rS` variable isn't used anywhere else in the function
rounded === 1 || 0
// 这个条件没有意义,因为如果 rounded === 1
失败,其他 0 仍然等于 0 而你应该使用 rounded >= 0 && rounded < 2
或 rounded == 1 || rounded == 0
当您不使用 i
变量的值时,我也没有看到使用 for
循环
您可以将结果用作函数的新参数。通过使用结果再次调用该函数。像这样的函数称为递归函数。
let N = 350;
function compute(N) {
const result = N / 7;
const rounded = Math.floor(result);
console.log(rounded);
if (rounded >= 0 && rounded < 2) return rounded;
else compute(result);
}
compute(N);