Boa tarde, estou com uma dúvida pois toda vez que adicionar um paciente na tabela eu queria que ele desse um ID de 0 a 10 mas fica sempre no primeiro item do array
class Model {
constructor(nome, peso, altura) {
this._nome = nome;
this._peso = peso;
this._altura = altura;
Object.freeze(this);
}
get nome() {
return this._nome;
}
get peso() {
return this._peso;
}
get altura() {
return this._altura
}
get imc() {
return Math.round(this._peso / (this._altura * this._altura));
}
posicao() {
let ordem = [1,2,3,4,5,6,7,8,9,10];
for(var i = 0; i < 10 ; i++) {
return ordem[i];
}
}
}
No caso eu chamo ela em ${n.posicao()} , tem algo de errado ?
class View {
constructor(elemento){
this._elemento = elemento;
}
template(model) {
return `
<table class="table">
<thead class="thead-dark">
<tr>
<th scope="col">ID</th>
<th scope="col">Nome</th>
<th scope="col">IMC</th>
</tr>
</thead>
<tbody>
${model.pacientes.map(n => {
return `
<tr>
<th scope="row">${n.posicao()}</th>
<td>${n.nome}</td>
<td>${n.imc}</td>
</tr>
<tr>
<th scope="row"></th>
<td></td>
<td></td>
</tr>
<tr>
<th scope="row"></th>
<td></td>
<td></td>
</tr>
</tbody>
`
}).join('')}
</table>
`
}
update(model) {
this._elemento.innerHTML = this.template(model)
}
}