Javascript 如何在数组中创建从1到5的数字范围

Javascript 如何在数组中创建从1到5的数字范围,javascript,Javascript,我想得到数组中的结果[1,2,3,4,5]。我做错了什么?我是否必须减少endNum 函数编号范围(起始编号、结束编号){ 如果(endNum-startNum>=0){ 常量数组=数的范围(开始数、结束数); array.push(startNum); 返回编号的范围(开始编号+1,结束编号); }否则{ 返回[]; } }; 日志(编号范围(1,5)) 输出:[1,2,3,4,5] JavaScript中的数组实际上是一个带有整数键的对象。代码将长度为6的数组的键传播到另一个数组 slic

我想得到数组中的结果
[1,2,3,4,5]
。我做错了什么?我是否必须减少
endNum

函数编号范围(起始编号、结束编号){
如果(endNum-startNum>=0){
常量数组=数的范围(开始数、结束数);
array.push(startNum);
返回编号的范围(开始编号+1,结束编号);
}否则{
返回[];
}
};
日志(编号范围(1,5))
输出:
[1,2,3,4,5]

JavaScript中的数组实际上是一个带有整数键的对象。代码将长度为6的数组的键传播到另一个数组

slice方法返回第二个到最后一个元素

如果要查找范围函数,请尝试以下操作:

var range = (start, stop, step=1) => {
    const length = Math.ceil((stop - start) / step);
    return Array.from({length}, (_, i) => (i * step) + start);
}

range(1, 6)
输出:
[1,2,3,4,5]

简明扼要:

const rangeOfNumber=(a,b)=>[…数组(b+1).keys()]切片(a)
控制台日志(编号范围(1,5))
console.log(数值范围(5,10))

试试这个:

 const array=Array();
    function rangeOfNumbers(startNum, endNum) {
      if(endNum-startNum>=0){
        console.log(startNum)
        array.push(startNum);
       return rangeOfNumbers(startNum+1,endNum);
        
      }else{
        return array;
      }
    };
    console.log(rangeOfNumbers(1,5));

这应该可以完成for循环的工作

function rangeOfNumbers(a, b){
 let arr = [];
 for(a; a<=b; a++){
  arr.push(a)
 }
 return arr;
}
编号的函数范围(a,b){ 设arr=[];
对于(a;aAs)一条评论,使用递归肯定不是正确的方法递归让我大吃一惊这回答了你的问题吗?@rickdenhaan我想问题是为什么这不起作用,而不是如何解决一般问题。你认为这会如何终止?如果
endNum-startNum
大于或等于零,那么
endNum-startNum+1
也会是。谢谢你。我已经用endNum-startNum创建了无限循环>=0Hi@Alex-OP没有在标题中指定他想要递归,而不是对他的问题的描述,因此我很惊讶你说OP想要递归,即使是这样,如果他想要,那么OP也没有以任何方式传达。我猜他试图用递归来解决它,因为这恰好是OP提出的。我试着用问题,因为这应该是本质,未来的人们会从谷歌这里寻求帮助,并因为标题而点击,他们可能会从我的答案中获得比所选答案更大的价值。
 const array=Array();
    function rangeOfNumbers(startNum, endNum) {
      if(endNum-startNum>=0){
        console.log(startNum)
        array.push(startNum);
       return rangeOfNumbers(startNum+1,endNum);
        
      }else{
        return array;
      }
    };
    console.log(rangeOfNumbers(1,5));
function rangeOfNumbers(a, b){
 let arr = [];
 for(a; a<=b; a++){
  arr.push(a)
 }
 return arr;
}