【发布时间】:2021-03-19 17:15:04
【问题描述】:
我一直在尝试编写一个递归函数来获取一系列数字,但我收到一条错误消息,提示 'newLine. unshift(startN) is not a function'。
以下是代码:
function rangeOfNumbers(startN, endN) {
if (startN - endN === 0) {
return "The starting number will always be less than or equal to the ending number";
} else {
const newLine = rangeOfNumbers(startN + 1, endN);
newLine.unshift(startN);
return newLine;
}
}
console.log(rangeOfNumbers(1, 7));
有人可以帮我找出出现上述错误的原因吗?
【问题讨论】:
-
我根本看不懂,但我没有看到
rangeOfNumbers除了错误条件返回任何东西,所以不清楚你在期待什么。 -
unshift 是一种应用于数组的方法。例如arr = [1, 2, 3]。 arr.unshift(4, 5)。您不能将 unshit 写入您的 rangeOfNumber 函数。请说出您想要的预期结果是什么
-
哦,我认为那里有一个
return,但我看不到它在哪里被初始化为除了错误条件之外的任何东西。
标签: javascript function recursion