簡體   English   中英

查找並返回javascript中最長的單詞

[英]find & return the longest word in javascript

有人可以讓我知道這里出了什么問題嗎? 每當我將其輸入為測試用例時(console.log(longestWord(“到底發生了什么事”)),當最長的單詞返回“ what”時,它幾乎可以在我測試過的所有其他情況下使用...讓我發瘋,請幫忙,謝謝!!!

function longestWord(string) {
var words = string.split(' ');

for (var i = 0; i < words.length; i++) {
    var currentWord = words[i];

    var longestWord = words[0];

    if (longestWord.length < currentWord.length) {
         longestWord = currentWord;
    }
}
return longestWord;
}

您正在循環的每次迭代中重置最長的單詞。 在循環運行之前設置初始(第一個)最長的字,然后它將正常工作。

 function longestWord(string) { var words = string.split(' '); // Set the intial longest word out here var longestWord = words[0]; // Need to loop through from index 1 for (var i = 1; i < words.length; i++) { var currentWord = words[i]; // Setting the longest word to the initial word here means that it will set the longest word to be "what" everytime your loop runs. if (longestWord.length < currentWord.length) { longestWord = currentWord; } } return longestWord; } console.log(longestWord("What the hell is going on")); 

喬丹給您正確的答案。 我們還可以使用sort函數並返回第一個元素,如下所示:

 function longestWord(string) { var words = string.split(' '); return words.sort(function (a, b) { return b.length - a.length; })[0]; } console.log(longestWord("what the hell is going on")) 

我貼上ES6單線紙,以防萬一...

 let longestWord = str => str.split(' ').sort((a, b) => b.length - a.length)[0]; console.log(longestWord("what the hell is going on")); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM