尋求最長的單詞算法挑戰(zhàn)

要求是:返回提供的句子中最長的單詞的長度

有三種實(shí)現(xiàn)方式
首先是使用for循環(huán)實(shí)現(xiàn),代碼如下:

function findLongestWord(str){
  let arr = new Array();
  arr = str.split(" ");//以空格分隔
  let maxLength =0;
  for(let i=0;i<arr.length;i++){
    if(arr[i].length >maxLength){
        maxLength = arr[i].length;
    }
  }
  return maxLength;
}
const str = "Let me introduce myself first";
findLongestWord(str);

第二種方式是:sort()
實(shí)現(xiàn)思路是:
先通過split()分割賦值給新數(shù)組 對新數(shù)組進(jìn)行for循環(huán);
遍歷數(shù)組 將數(shù)組中的每個(gè)單詞的length形成一個(gè)新的數(shù)值數(shù)組;
對數(shù)值數(shù)組進(jìn)行從小到大的排序 ,獲取此數(shù)組的最后一位 也就是最長的單詞length。

function findLongestWord(str){
  let strArr = str.split(" ");
  let numArr = [];
  for(let i=0;i<strArr.length;i++){
    numArr[i] = strArr[i].length;
  }
  numArr = numArr.sort(function(a,b){
    return a-b;
  });
  const maxLength = numArr.pop();
  return maxLength;
}
const str = "Let me introduce myself first";
findLongestWord(str);

第三種實(shí)現(xiàn)方式:reduce()
實(shí)現(xiàn)思路:
通過split()分割;然后使用reduce()獲取最長的length

function findLongestWord(str){
  let strArr = str.split(" ");
  let maxStr = strArr.reduce(function(longest,currentWord){
      return currentWord.length > longest.length? currentWord:longest;
  });
return maxStr.length;
}
const str = "Let me introduce myself first";
findLongestWord(str);
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容