大佬教程收集整理的这篇文章主要介绍了从函数中获取接下来的 n 个数字,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想创建一个返回数组的函数。以下是片段:
function FetchNnumbers(Size,Nbr,NextNnumbers){
arr = new Array();
LValue = Nbr + NextNnumbers;
for(i = Nbr; i<LValue; i++){
if(LValue>SizE){
Nbr = Nbr - (LValue-SizE);
LValue= Nbr + NextNnumbers;
arr.push(Nbr);
Nbr++;
} else {
arr.push(Nbr);
Nbr++;
}
}
return arr;
}
console.log(FetchNnumbers(10,7,3)) // [7,8,9] --> Correct and Expected Output
console.log(FetchNnumbers(10,5)) // [5,6,7] --> Incorrect Output
// [5,9] --> Expected Output
我无法确定循环出错的地方?
对该函数的期望:-
NextNnumbers
的值。此函数应返回从 Nbr
NextNnumbers
的值超过 Size
的值。在这种情况下,函数应该选择最后 5 个值。我认为这里的无效点是起始值。 你可以试试这个吗?
function FetchNnumbers(Size,number,NextNnumbers){
arr = new Array();
// LastValue = number + NextNnumbers;
let start = Size - NextNnumbers;
for(i = start; i<Size; i++){
if(LastValue>SizE){
number = number - (LastValue-SizE);
LastValue= number + NextNnumbers;
arr.push(number);
number++;
} else {
arr.push(number);
number++;
}
}
return arr;
}
,
您只需要根据您的条件从 i
中初始化 for
:
var i = LValue > Size ? Nbr - (LValue - SizE) : Nbr;
试试这个:
function FetchNnumbers(Size,Nbr,NextNnumbers) {
arr = new Array();
LValue = Nbr + NextNnumbers;
var i = LValue > Size ? Nbr - (LValue - SizE) : Nbr;
for (;i < LValue; i++) {
if (LValue > SizE) {
Nbr = Nbr - (LValue - SizE);
LValue = Nbr + NextNnumbers;
arr.push(Nbr);
Nbr++;
} else {
arr.push(Nbr);
Nbr++;
}
}
console.log(arr);
return arr;
}
FetchNnumbers(10,7,3)
FetchNnumbers(10,5)
,
我假设您的函数是计数直到达到一个数字,但我无法从您的解释中真正分辨出来,所以我能做的最好的事情是我将您的函数更改为使用您的 for 从一个数字向上计数 n声明:
function FetchNnumbers(StartVal,CountBy){
let arr = new Array();
for(i = 0; i<CountBy; i++){
arr.push(StartVal + i);
}
return arr;
}
FetchNnumbers(5,5) //5,6,8,9
如果这不符合您的要求,那么您必须指定
,您在循环中分配 i = Nbr
,这将您的 i 设置为 7,它从 7-9 运行并结束循环,因此在第二种情况下,您只有 3 个数字插入到数组中,所以 @user1520112 回答会工作。
以上是大佬教程为你收集整理的从函数中获取接下来的 n 个数字全部内容,希望文章能够帮你解决从函数中获取接下来的 n 个数字所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。