Stack Overflow на русском Asked on December 19, 2020
Есть такая javascript задача с решением. Никак не могу понять как вышло решение самое длинное слово из предложений. Я понимаю что в цикл есть условие if (word.length > longestWord.length) то есть длина строк
это 1,4,2,5 > 0 так как переменная longestWord -нулевая строка, и потом если условие верно, то переменная longestWord равна переменной Word. Разве не должно выйти все слово в решений в консоле? Ведь все строки больше 0, а выходит только today и straight.
function longestWord(str) {
let words = str.split(" ");
let longestWord = "";
for (let word of words) {
if (word.length > longestWord.length) {
longestWord = word;
}
}
return longestWord;
}
console.log(longestWord("I woke up today"));
console.log(longestWord("I went straight to the beach"));
Всё просто: longestWord
изначально при первой итерации цикла имеет длину 0 и в цикле стоит условие, которое проверяет, не является ли длинна проверяемой строки word
больше чем существующая длинна максимального слова в наборе (в данном случае longestWord
). И если длинна longestWord
меньше чем найденное слово, просто это слово сохраняется в longestWord
(как самое длинное, найденное в данный момент) и в следующей итерации уже идёт проверка с его длинной, а не с 0 как Вы вероятно подумали. Таким образом вычисляется самое длинное слово в наборе.
Answered by noname2019 on December 19, 2020
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP