程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了从函数中获取接下来的 n 个数字大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决从函数中获取接下来的 n 个数字?

开发过程中遇到从函数中获取接下来的 n 个数字的问题如何解决?下面主要结合日常开发的经验,给出你关于从函数中获取接下来的 n 个数字的解决方法建议,希望对你解决从函数中获取接下来的 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

我无法确定循环出错的地方?

对该函数的期望:-

  1. 根据 NextNnumbers 的值。此函数应返回从 Nbr
  2. 开始的下 N 个数字的数组
  3. 在我的第二个示例中,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,请注明来意。