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

JS求取数组最大值最小值输出为1,1 错误排查及缺失内容问询

问题定位

你的代码核心问题是数组长度属性拼写错误:

  • 你写的是arr.lenght,JavaScript中数组长度的正确属性名是arr.length
  • 拼写错误导致arr.lenght返回undefined,循环条件i < undefined永远为假,循环体完全没有执行,max和min一直保留初始赋值的数组第一个元素1,所以最终输出都是1。

修正后代码

var arr = [1,4,6,3];
function maxAndMin(arr) {
  var max = arr[0];
  var min = arr[0];
  // 修正length拼写错误
  for(var i=0; i < arr.length; i++) {
    if(arr[i] > max) {
      max = arr[i];
    }
    if(arr[i] < min) {
      min = arr[i];
    }
  }
  console.log("Max:",max,"Min:",min);
}  

maxAndMin(arr);

运行后输出结果为:Max: 6 Min: 1


可选优化说明

如果不想手写遍历,也可以直接用JS内置API简化实现:

const max = Math.max(...arr);
const min = Math.min(...arr);

使用前建议先判断数组是否为空,避免空数组访问元素返回undefined的异常问题。

内容的提问来源于stack exchange,提问作者A.kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 13:15:04