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

如何找出数组中字符数最多的单词?(附错误JavaScript代码求助)

找出数组中字符数最多的单词

原代码问题分析

  • 变量lnght初始化为空字符串'',与数字类型的length比较时会触发隐式类型转换,逻辑不严谨;
  • 循环内部用let lnght = countries[i].length;重新声明了局部变量,导致外层的lnght始终无法更新,无法记录当前最长字符串的长度。

修正后的基础实现

const countries = [
  'Albania',
  'Bolivia',
  'Canada',
  'Denmark',
  'Ethiopia',
  'Finland',
  'Germany',
  'Hungary',
  'Ireland',
  'Japan',
  'Kenya'
]

let lnght = 0;
let longest;
    
for(let i=0; i<countries.length; i++){
  if(countries[i].length > lnght) {
    lnght = countries[i].length;
    longest = countries[i];
  }
}
    
console.log(longest); // 输出Ethiopia

更简洁的实现方式(使用reduce)

const countries = [
  'Albania',
  'Bolivia',
  'Canada',
  'Denmark',
  'Ethiopia',
  'Finland',
  'Germany',
  'Hungary',
  'Ireland',
  'Japan',
  'Kenya'
]

const longest = countries.reduce((prev, curr) => {
  return curr.length > prev.length ? curr : prev;
}, '');

console.log(longest); // 输出Ethiopia

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 09:35:19