Это вопрос об условностях. Теперь я искал и вижу другой (правильный) способ сделать это. Но я просто не понимаю, почему мой путь не работает.
вопрос: написать функцию с именем "getLongestOfThreeWords".
Учитывая 3 слова, «getLongestOfThreeWords» возвращает самое длинное из трех слов.
Примечания:
Если есть связь, она должна вернуть первое слово в связи.
Я понимаю «правильный» способ, но мой ответ показывает «неопределенный» и, похоже, не могу понять, почему ..
"My way"
function getLongestOfThreeWords(word1, word2, word3) {
if(word1.length > word2.length && word1.length > word3.length){
return word1;
} else if(word2.length > word1.length && word2.length > word3.length){
return word2;
} else if (word3.length > word1.length && word3.length > word2.length){
return word3;
}
}
против
"correct way"
function getLongestOfThreeWords(word1, word2, word3) {
let wordsArr = [word1, word2, word3];
let longestWord = '';
for (var i = 0; i < wordsArr.length; i++) {
if (wordsArr[i].length > longestWord.length) {
longestWord = wordsArr[i];
}
}
return longestWord;
}
var output = getLongestOfThreeWords('these', 'three', 'words');
console.log(output); // --> 'these'