1. 程式人生 > >JavaScript尋找最長的單詞演算法挑戰

JavaScript尋找最長的單詞演算法挑戰

返回提供的句子中最長的單詞的長度。

返回值應該是一個數字。

function findLongestWord(str) {
    var arr = str.split(" ");//空格為界限拆分字串為陣列["The","quick","brown","fox","jumped","over","the","lazy","dog"]
    arr.sort(function compare(x,y){ //用sort()方法對陣列進行排序
        return y.length-x.length;//(按陣列每項{即單詞長度}降序排序)
    });
return arr[0].length;//取第一項為單詞長度最長一項
}

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

在Javascript的陣列Array中,sort()函式主要使用來對陣列的元素進行排序。

比較函式:

function compare(value1, value2){
    if(value1 < value2){
        return -1;
    }else if(value1 > value2){
        return 1;
    }else{
        return 0;
    }
}//升序
function compare(value1, value2){
retuen value1 - value2;}//升序

//-------------------------------------------------------------------------
function compare(value1, value2){
    if(value1 < value2){
        return 1;
    }else if(value1 > value2){
        return -1;
    }else{
        return 0;
    }
}//降序
function compare(value1, value2){
retuen value2 - value1;}//降序

測試用例:

findLongestWord("The quick brown fox jumped over the lazy dog") 應該返回一個數字

findLongestWord("The quick brown fox jumped over the lazy dog") 應該返回 6.

findLongestWord("May the force be with you") 應該返回 5.

findLongestWord("Google do a barrel roll") 應該返回 6.

findLongestWord("What is the average airspeed velocity of an unladen swallow")

 應該返回 8.

findLongestWord("What if we try a super-long word such as otorhinolaryngology") 應該返回 19.