方法1: 先按空格把字符串轉(zhuǎn)換成數(shù)組它呀,然后用for循環(huán)獲取每一個(gè)數(shù)組元素的長(zhǎng)度惯悠,再比較大泄纭:
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:把字符串轉(zhuǎn)化成數(shù)組后蜡吧,用sort()函數(shù)給數(shù)組排序:
function findLongestWord1(str) {
var strArray = str.split(' ');
strArray.sort(function (a,b) {
return b.length - a.length;
});
return strArray[0].length;
}
方法3:轉(zhuǎn)化成數(shù)組后休傍,用map()函數(shù)生成一個(gè)保存每個(gè)單詞長(zhǎng)度的新數(shù)組征绎,然后用reduce()函數(shù)取到最大值:
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);
});
}