要求是:返回提供的句子中最長的單詞的長度
有三種實(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);