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

JavaScript中monkeyCount函数如何通过return返回1到n的完整数组

monkeyCount函数实现方案

原代码问题

新手编写的错误代码:

function monkeyCount(n) {
  for (i=1; i<=n; ++i){
    let monkeyArray=[i];
    return monkeyArray[i];
  }    
}

这段代码存在以下问题:

  • 数组在循环内部声明,每次循环都会被重置,无法累加存储1到n的所有数值
  • return语句放在循环体内,第一次循环执行时就会直接终止函数返回结果,不会完成全部次数的遍历
  • 数组下标使用错误:长度为1的数组仅存在下标为0的元素,访问monkeyArray[i]会得到undefined
  • 循环变量i没有显式声明,会泄漏为全局变量,污染上层作用域

正确实现

新手友好的循环实现(易理解)

function monkeyCount(n) {
  // 循环外声明空数组,存储最终结果
  const monkeyArray = []
  // 遍历1到n的所有数值,依次推入数组
  for (let i = 1; i <= n; i++) {
    monkeyArray.push(i)
  }
  // 遍历完成后返回完整数组
  return monkeyArray
}

简洁版一行实现

function monkeyCount(n) {
  return Array.from({length: n}, (_, idx) => idx + 1)
}

两种实现传入参数5时,都会返回[1,2,3,4,5],符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 08:00:00