这是挑战:
我们定义了一个名为 rangeOfNumbers 的函数,它带有两个参数。该函数应返回一个整数数组,该数组以 startNum 参数表示的数字开始,以 endNum 参数表示的数字结束。起始数字始终小于或等于结束数字。您的函数必须通过调用自身来使用递归,而不是使用任何类型的循环。它也应该适用于 startNum 和 endNum 相同的情况。
function rangeOfNumbers(startNum, endNum) {
}
rangeOfNumbers(5, 10); //Should return [5, 6, 7, 8, 9, 10]
有没有一种简单的单行方法来解决这个问题?我正在努力解决如何处理基本情况并通过递归返回所需的数组。
最佳答案
function rangeOfNumbers(startNum, endNum) {
return startNum <= endNum ? [startNum].concat(rangeOfNumbers(startNum+1, endNum)) : []
}
console.log(rangeOfNumbers(5, 10));
关于javascript - 如何在 JavaScript 中指定最小值和最大值时使用递归创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60731946/