no curso de java script criamos uma função para montar as Trs, ela chama a função td e recebe o objeto paciente
function montarTr(paciente){
var pacienteTr = document.createElement("tr");
pacienteTr.appendChild(montarTd(paciente.nome, "info-nome"));
pacienteTr.appendChild(montarTd(paciente.peso, "info-peso"));
pacienteTr.appendChild(montarTd(paciente.altura, "info-altura"));
pacienteTr.appendChild(montarTd(paciente.gordura, "info-gordura"));
pacienteTr.appendChild(montarTd(paciente.imc, "info-imc"));
pacienteTr.classList.add("paciente")
return pacienteTr;
}
function montarTd(conteudo, classe ){
var td = document.createElement("td");
td.textContent = conteudo;
td.classList.add(classe);
return td;
}
eu estava pensando se tinha uma forma de fazer um foreach no objeto paciente pra fazer ele rodar pelos atributos dentro do objeto, e eu cheguei nessa conclusão, que eu achei muito boa, mas não sei se ela é considerada não legivel ou complicada demais, queria saber o que me dizem
function montarTr(paciente){
//versão antiga e direta sem uso de loop
//pacienteTr.appendChild(montarTd(paciente.nome, "info-nome"));
//pacienteTr.appendChild(montarTd(paciente.peso, "info-peso"));
//pacienteTr.appendChild(montarTd(paciente.altura, "info-altura"));
//pacienteTr.appendChild(montarTd(paciente.gordura, "info-gordura"));
//pacienteTr.appendChild(montarTd(paciente.imc, "info-imc"));
//pacienteTr.classList.add("paciente")
var pacienteTr = document.createElement("tr");
//versão melhorada com utilização de loop em objeto
Object.entries(paciente).forEach(function(pacientef){
pacienteTr.appendChild(montarTd(pacientef[1], ("info-"+pacientef[0])) );
pacienteTr.classList.add("paciente");
});
return pacienteTr;
}
com esse loop eu faço literalmente as mesmas coisas que da outra forma e adiciono até as tags info- de cada paciente, achei que dessa forma fica muito mais sucinto e eficiente, porque eu posso adicionar mais informações ou retirar quando eu quiser que não vai afetar o codigo, porque ele fica "modular", talvez?!?!