Explicação de A palavra mais longa
Objetivo do desafio: Crie uma função que pega uma array de strings e retorna a string mais longa da array.
Passo a passo da solução: No final deste curso, você criará uma função que pega uma string e uma array de strings e retorna a string mais longa da array que é uma subsequência da outra string.
Por enquanto, crie uma função que simplesmente retorne a string mais longa de uma array de strings. Essa será uma função auxiliar útil para usar mais tarde.
Para começar, crie uma variável local para armazenar a string mais longa. Defina seu valor para ser uma string vazia. Você adicionará um valor posteriormente na função. Por exemplo:
let longestString = '';
Em seguida, acrescente um laço for para fazer a iteração pela array de strings. Dentro do laço for, adicione uma if statement que verifica se a string atual que está sendo analisada é mais longa do que a mais longa das strings. Deve ficar assim:
for (let word of array) {
if (word.length > longestWord.length) {
longestWord = word
}
}
Se for encontrada uma palavra mais longa que longestWord
, então essa palavra é atribuída a longestWord
.
No final da função, return
(retorna) a string mais longa.
Conceitos de JavaScript: Funções, Strings, .length
, Laço for, If Statements, Arrays
Código Adicional (código oculto executado antes do código do desafio):
let subsequences = ['able', 'ale', 'apple'];
let stringSequence = ['abppplee'];
5 Likes
Esse quebrei cabeça um pouco. Se atentem à criação de uma variável que armazene os dados enquanto percorre a array. 

6 Likes
Meu problema esta sendo fazer a variavel percorrer a array. Esta sempre retornando o primeiro elemento.
1 Like
Então deve ser sintaxe no uso do FOR OF.
Ele terá essa função.
2 Likes
eu não consigo resolver the longest word. Tentei de tudo. A explicação acima não funcionou porque não consigo fazer for(let…).
alguém poderia postar a solução para mim? Please. ficarei sinceramente grata. um abraço
1 Like
let longestWord=’ ';
for (var word of array) {
if (word.legth > longestWord.legth) {
longestWord = word;
}
}
return longestWord;

17 Likes
Muito obrigada. Estava sofrendo com isso. Você é muito gentil.
1 Like
Muito obrigado pela força. Estava desesperado.
Valeu mesmo!
1 Like
Tá quebrado
Eu não consigo passar
1 Like
Eu tive um pouco de dificuldade por que escolhi usar o laço “for” e não o “for of”. É possível fazer das duas maneiras. Vejam abaixo como ficou, espero que ajude.
2 Likes
Confesso que só consegui passar pela ajuda de vocês, tá ficando cada vez mais difícil e espero um dia entender tudo com facilidade pq tá osso 
5 Likes
E quando existem 2 palavras com o mesmo tamanho a funçao sempre vai retornar a primeira e vai parar a verificação. É preciso criar uma soluçao para imprimir os dois,tres… valores maiores se houver…
1 Like
Thank you so much for the help
Entendo-te perfeitamente, mano.
@Frankllyn
A var word que usou para armazenar element, não é necessaria, já que você usou element mesmo na função. Funciona mas a var word nao é usada nesse caso e ficou meio confuso a leitura do codigo.
Seria melhor
var element=word
E usar word na função no lugar de element
Var não é recomendado escolha utilizar “let” preferencialmente