javascript - 如何在 JavaScript 中指定最小值和最大值时使用递归创建数组

标签 javascript arrays function recursion

这是挑战:

我们定义了一个名为 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/

相关文章:

android - ArrayList 到 ArrayAdapter

python - 带有 "for i in X"的罗马数字计算器

r - 按名称合并多对列

javascript - 如何使谷歌自定义搜索引擎的背景(透明)?

javascript - 具有多个文件的 JSLint

javascript - 从另一个组件设置模型后,Angular2 View 不更新

javascript - ReduxReducer - 正在调度但未保存到状态的对象数组

javascript - 从数组中生成一个随机单词,然后将其打印到控制台日志中的 javascript 函数中

javascript - 更新 for 循环内的 javascript 对象属性?

php - mysql_fetch_array 打印内一个字符串。可能的?