export function longestWords(words) { // implementar logica aqui let longestWords = []; // função para percorrer o array for(let i = 0; i < words.length; i++){ // cria um loop para percorrer o array let word = words[i] // cria variavel para armazenar o resultado do loop let wordInfo = { // cria um objeto para receber o resultado do loop [word]: word.length // [word] = chave / word.length = key } longestWords.push(wordInfo) // push do resltado para o array da variavel } // função para achar o maior length da função let bigWord = 0 // varivel para armazenar o maior length for(let j = 0; j < longestWords.length; j++){ // função para comprar o novo loop com o resulado da longestWord let longWord = longestWords[j]; // variavel para armazenar o resultado do loop let longInfo = Math.max(...Object.values(longWord)) // resultado para retornar o maior length da longword if (longInfo > bigWord){ // condição para compara a variavel com o loop bigWord = longInfo // quando achar o maior length armazenar na bigWord } } // função para achar a maior palavra let finalResult = []; // variavel para armazenar a maior palavra for(let result = 0; result < longestWords.length; result++){ // loop para achar o resultado let resultWord = longestWords[result] // variavel para armazenar a resposta do loop Object.keys(resultWord).filter(result => { // areo function para filtrar a condição do maior length e adionar o resultado a variavel incial if (result.length == bigWord){// condição de adição finalResult.push(result) // push do resultado para a variavel } }) } return finalResult // return a variavel para receber a resposta }