The Longest Word pt-br Explainer

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. :sunglasses::ok_hand:t5:

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. :thinking: 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;

imagem_2021-07-01_235524

16 Likes

Muito obrigada. Estava sofrendo com isso. Você é muito gentil.

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 :sweat_smile:

4 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.

image

@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