【问题标题】:Why doesn't my code return the word with the most characters? [duplicate]为什么我的代码不返回字符最多的单词? [复制]
【发布时间】:2019-06-10 01:08:20
【问题描述】:

我试图让 JS 获取字符最多的单词,但由于某种原因,我的代码总是返回“The”

我已经尝试了代码的两种变体。

变体 1:

let sent = "The quick borwn fox jumped over the jazy dog";
let word = findWord(sent);

function findWord(sent){

  splitSent=sent.split(" ");

  let largest="";

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

    if(splitSent[i].length>largest){

        largest=splitSent[i];
    }

  }

return largest;
}

console.log(word)

变体 2:

let sent = "The quick borwn fox jumped over the jazy dog";
let word = findWord(sent);

function findWord(sent){

  splitSent=sent.split(" ");

  let largest="";

  for(split of splitSent){

    if(splitSent[i].length>largest){

        largest=splitSent[i];
    }

  }

return largest;

}

console.log(word)

控制台只打印第一个代码中的“The”和第二个代码中的“fox”

【问题讨论】:

  • largest 是一个字符串,所以splitSent[i].length&gt;largest 没有意义,请尝试与largest.length 进行比较。您还应该考虑避免隐式创建全局变量

标签: javascript arrays string function loops


【解决方案1】:

因为您需要检查largest.length 而不是largest

let sent = "The quick borwn fox jumped over the jazy dog";    
let word = findWord(sent);

    
function findWord(sent) {      
  splitSent = sent.split(" ");      
  let largest = "";      
  for (i = 0; i < splitSent.length; i++) {        
    if (splitSent[i].length > largest.length) {          
      largest = splitSent[i];        
    }      
  }      
  return largest;    
}

    
console.log(word);

【讨论】:

  • 没问题@snakeoilforcheap,如果我的回答解决了您的问题,请将其标记为已接受。
  • 是的,我知道,我一直在等待,在我标记为已解决之前有一个定时窗口。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-18
  • 2017-05-19
  • 2017-07-09
  • 2016-01-30
  • 2017-07-16
  • 2017-05-18
  • 2020-04-27
相关资源
最近更新 更多