js獲取字符串中最長單詞長度的3種方法

方法1: 先按空格把字符串轉換成數組,然后用for循環獲取每一個數組元素的長度,再比較大小:

function findLongestWord(str) {
  var length = 0;
    
    var strArray = str.split(' ');
    
    for(var i = 0;i < strArray.length;i++)
    {
        length = strArray[i].length > length ? strArray[i].length : length;
    }
    
    return length;
}

findLongestWord("Hello world My  heart will go on the day after tomorrow");

方法2:把字符串轉化成數組后,用sort()函數給數組排序:

function findLongestWord1(str) {
    var strArray = str.split(' ');
    strArray.sort(function (a,b) {
        return b.length - a.length;
    });
        
    return strArray[0].length;
}

方法3:轉化成數組后,用map()函數生成一個保存每個單詞長度的新數組,然后用reduce()函數取到最大值:

function findLongestWord2(str) {
    var strArray = str.split(' ');
    var lengthArray = strArray.map(function(val){
        return val.length
    });
    
    return lengthArray.reduce(function (p,c) {
        return Math.max(p, c);
    });
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容