challenge-algorithms-v2.0-h.../10-longestWords/index.js

33 lines
1.7 KiB
JavaScript

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
}