Вы пропустили добавление последнего слова к массиву в коде, который вы разместили.
Для той же проблемы мы можем добиться этого, используя следующий код
1) Использование For Loop
function findLongestWord(str) {
var strSplit = str.split(' ');
var longestWord = 0;
for(var i = 0; i < strSplit.length; i++){
if(strSplit[i].length > longestWord){
longestWord = strSplit[i].length;
}
}
return longestWord;
}
findLongestWord("What if we try a super-long word such as otorhinolaryngology");
2) Использование метода сортировки
function findLongestWord(str) {
var longestWord = str.split(' ').sort(function(a, b) { return b.length - a.length; });
return longestWord[0].length;
}
findLongestWord("What if we try a super-long word such as otorhinolaryngology");
3) Использование метода уменьшения
function findLongestWord(str) {
var longestWord = str.split(' ').reduce(function(longest, currentWord) {
return currentWord.length > longest.length ? currentWord : longest;
}, "");
return longestWord.length;
}
findLongestWord("What if we try a super-long word such as otorhinolaryngology");