You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript range函数返回undefined问题求助:《Eloquent JavaScript》第四章练习

问题排查:你的range函数返回undefined的原因

嘿,我一眼就揪出问题所在啦——你的range函数没有显式返回值!

你写的代码里,虽然在循环里把数字都成功push到了array数组里,但函数执行完毕后,没有用return语句把组装好的数组返回出去。在JavaScript里,如果函数没有写return语句,默认就会返回undefined,这就是为什么你调用range(20,25)得到的是undefined。

先看你的原代码:

function range(start, end) { 
  let array = []; 
  for (let i = start; i <= end; i++){
    array.push(i);
  } 
} 
console.log(range(20 , 25)); 

只需要加一行return array;就能彻底解决问题,修正后的代码如下:

function range(start, end) { 
  let array = []; 
  for (let i = start; i <= end; i++){
    array.push(i);
  } 
  return array; // 关键:把组装好的数组返回出去
} 
console.log(range(20 , 25)); // 现在会输出 [20,21,22,23,24,25]

对比题目给出的完整答案,你会发现它的range函数最后也有return array;,这就是你和正确代码之间最核心的差异点。

内容的提问来源于stack exchange,提问作者user8562627

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:17:37