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

编写的JavaScript函数无法返回最短单词长度,请求问题排查

代码问题分析与修正

问题出在这几个地方:

  • 关键变量word的定义被注释了:原代码里var word = s.split(' ')是注释状态,这会直接导致word未定义报错;就算你实际测试时解开了注释,后面的逻辑还有问题。
  • 错误用parseInt处理长度数组:word.map(a => a.length)会生成一个存所有单词长度的数组(比如输入"a bc def"会得到[1,2,3]),但parseInt处理数组时,会先把数组转成字符串(比如"1,2,3"),然后只提取第一个有效数字返回,所以result就变成了第一个单词的长度。
  • 无效的双return:第一个return result直接终止了函数,后面那句return Math.min(result)根本不会执行,自然没法算出最短长度。

修正后的代码:

function findShort(s){
  // 分割字符串为单词数组,再映射成每个单词的长度数组
  const wordLengths = s.split(' ').map(word => word.length);
  // 用扩展运算符把数组元素展开,传入Math.min取最小值
  return Math.min(...wordLengths);
}

简单说明:

  • s.split(' ')把输入字符串按空格拆成单词数组;
  • .map(word => word.length)把每个单词转换成对应的长度,得到长度数组;
  • Math.min(...wordLengths)通过扩展运算符把数组元素一个个传给Math.min,直接拿到数组里的最小值,也就是最短单词的长度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 13:08:19