猿问

在字符串中找到最长的单词不起作用

我应该在字符串中找到最长的单词,这是我到目前为止提出的代码。不幸的是,这似乎不起作用,我的问题是为什么?


function findLongestWordLength(str) { 

  str.split("");

  let longest = 1;

  for(let i = 0; i < str.length; i++){

    if (str[i].length > longest){

       longest = str[i].length;

    }

  }

  return longest;

}


翻翻过去那场雪
浏览 165回答 3
3回答

森栏

您需要将字符串分割为" "。然后遍历单词并返回最大的长度。function findLongestWordLength(str) {&nbsp; const words = str.split(" ");&nbsp; return words.reduce(&nbsp; &nbsp; (max, word) => (word.length > max ? word.length : max),&nbsp; &nbsp; 0&nbsp; );}console.log(findLongestWordLength("hello world"));由于使用,此解决方案更短,更清洁reduce。

沧海一幻觉

问题是第二行需要更改为, str = str.split(" ");因为字符串是不可变的,它们不能更改,需要重新分配它。function findLongestWordLength(str) {&nbsp;&nbsp; str = str.split(" ");&nbsp; let longest = 1;&nbsp; console.log(str);&nbsp; for(let i = 0; i < str.length; i++){&nbsp; &nbsp; if (str[i].length > longest){&nbsp; &nbsp; &nbsp; &nbsp;longest = str[i].length;&nbsp; &nbsp; }&nbsp; }&nbsp; return longest;}var result = findLongestWordLength("Joan Ala Valeron")console.log(result);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答