E aí, Sérgio! Tudo bem?
Agradeço por compartilhar sua dúvida no fórum.
Pelo que você explicou, ao consultar a documentação você encontrou o método Object.fromEntries() e percebeu que ele já transforma diretamente um array de pares chave-valor em um objeto, sem precisar iterar manualmente. E sua dúvida é se essa solução também atende aos requisitos da atividade.
A resposta é: sim, atende perfeitamente ao objetivo proposto.
Seu código:
const obj = [
['nome', 'João'],
['idade', 30],
['cidade', 'Curitiba']
];
function montarObjeto() {
const novoObj = Object.fromEntries(obj);
console.log(novoObj);
}
montarObjeto();
O método Object.fromEntries() do JavaScript foi criado justamente para isso: receber um iterável (como um array de pares [chave, valor]) e retornar um objeto montado automaticamente.
Ou seja, funcionalmente ele resolve exatamente o problema descrito no enunciado.
Agora, por que o instrutor utilizou for...of?
Porque o foco pedagógico da atividade é exercitar:
- Desestruturação (
[chave, valor]) - Notação de colchetes (
obj[chave] = valor) - Manipulação manual de objetos
Nesse caso, a proposta é entender o processo de construção do objeto passo a passo, não apenas chegar ao resultado final.
Um pequeno ajuste que deixaria sua função ainda mais alinhada ao enunciado seria receber o array como parâmetro e retornar o objeto:
function montarObjeto(arrPares) {
return Object.fromEntries(arrPares);
}
Assim ela fica totalmente compatível com o que foi pedido.
Parabéns por ir além do conteúdo da aula e buscar na documentação — essa é uma postura excelente de desenvolvedor.
Conte com o fórum sempre que precisar.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos! ✨