Legal o exercicio.
Faltou somente o -- total+=parseInt(convidados[i].idade);
Olhando rapidamente vc pensa que não da pra refatorar muito. Ficou bem legal a resolução.
Legal o exercicio.
Faltou somente o -- total+=parseInt(convidados[i].idade);
Olhando rapidamente vc pensa que não da pra refatorar muito. Ficou bem legal a resolução.
Oi Amaro!
Que bom que você curtiu o exercício!
Realmente, quando a gente termina um código (e ele funciona) tendemos a pensar que ele está bom, mas sempre tem alguma coisinha pra melhorar.
A sua sugestão de adicionar o parseInt
não é necessária, pois o atributo idade
já é um int
. Na declaração do convidado, a conversão já acontece
var convidado = {
nome: itens[i].querySelector('.nome').textContent,
idade: parseInt(itens[i].querySelector('.idade').textContent)
};
Obrigado pelo feedback e parabéns por ter tentado encontrar mais melhorias! Bons estudos.
Coloquei pra rodar e deu error sem o parseint. É que depois ele pede pra fazer a soma das idades. Mas posso ter me equivocado em algo. Vou revisar o código.
Ah sim. Agora que vi como vc fez. Ok.
Oi Amaro!
Pensando bem, o jeito que você fez de converter para inteiro na hora de somar provavelmente seria a primeira solução que eu usaria também. Mas ao refatorar o código, podemos ver que colocar essa conversão na hora de criar o convidado
é a melhor solução, pois caso seja necessário usar a idade do usuário novamente, ela já estaria como int
.
Se essa conversão ocorre só na hora de somar as idades, nas outras situações que envolvem a idade seria necessário converter novamente, fazendo com que seja necessário mais código escrito e causando possíveis bugs caso a conversão não seja realizada.
Bons estudos!