简体   繁体   English

我查找最长单词的代码不起作用

[英]My code for finding the longest word does not work

    function findLongestWord(str){
  var array = str.split(" ");
  var long = array[0].length;
  for(var i = 0; i < array.length; i++){
    if(long < array[i].length){
      long = array[i];
    }
  }
  return long;
}

findLongestWord("The quick brown fox jumped over the lazy dog");

I was already given the solution to this problem;我已经得到了这个问题的解决方案; but, I wanted to know why this program does give the longest word但是,我想知道为什么这个程序确实给出了最长的单词

Update your code to following将您的代码更新为以下内容

  • Update var long = array[0].length;更新var long = array[0].length; to var long = array[0];var long = array[0]; ( store value ) 储值
  • In if condition, update long < to long.length < ( compare length )在 if 条件下,将long <更新为long.length <比较长度

 function findLongestWord(str){ var array = str.split(" "); var long = array[0]; for(var i = 0; i < array.length; i++){ if(long.length < array[i].length){ long = array[i]; } } return long; } console.log(findLongestWord("The quick brown fox jumped over the lazy dog"));

Try this.尝试这个。 You have to use long.length in if block.您必须在 if 块中使用long.length

function findLongestWord(str){
  var array = str.split(" ");
  var long = array[0];
  for(var i = 0; i < array.length; i++){
    if(long.length < array[i].length){
      long = array[i];
    }
  }
  return long;
}

findLongestWord("The quick brown fox jumped over the lazy dog");

Try this one.试试这个。

 findLongestWord("The quick brown fox jumped over the lazy dog"); function findLongestWord(str) { const arr = str.split(' ').map(e => e.length); const idx = Math.max(...arr); console.log(str.split(' ')[arr.indexOf(idx)]); }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM