每日一道算法題 - LongestWord(easy-1)

雖然都是很簡單的算法,每一個都只需5分鐘左右,但寫起來總會遇到不一樣的小問題,但願你們能跟我一塊兒天天進步一點點。
更多的小算法練習,能夠查看個人文章。算法

規則

Using the JavaScript language, have the function LongestWord(sen) take the sen parameter being passed and return the largest word in the string. If there are two or more words that are the same length, return the first word from the string with that length. Ignore punctuation and assume sen will not be empty. 數組

使用JavaScript語言,讓函數LongestWordsen)獲取傳遞的sen參數並返回字符串中的最大單詞。若是有兩個或多個長度相同的單詞,則返回該長度的字符串中的第一個單詞。
ps: 忽略字符串中標點符號並假設sen不會爲空。函數

測試用例

Input:"fun&!! time"
Output:"time"

Input:"I love dogs"
Output:"love"

my code

function LongestWord(sen) { 
    var senList = sen.match(/[a-z0-9]+/gi);
    var maxStr = ''
    for(var i=0; i<senList.length; i++) {
        if(maxStr.length < senList[i].length){
             maxStr = senList[i]
        }
    }
    // code goes here  
    return maxStr; 
}

other code

code 1

function LongestWord(sen) { 
  var arr = sen.match(/[a-z0-9]+/gi);

  var sorted = arr.sort(function(a, b) {
    return b.length - a.length;
  });

  return sorted[0];         
}

code 2

function LongestWord(sen) { 
  return sen.match(/[a-z0-9]+/gi).reduce((item, next) => item.length >= next.length ? item : next);     
}

思路

1.經過match過濾字符串,並把字符串根據空格符轉換成字符串數組
2.經過循環把獲取字符串數組中的長度最長的字符串測試

相關文章
相關標籤/搜索