Boa tarde, eu estou fazendo um projetinho de uma calculadora de media de combustível, onde o usuário insere os dados solicitados na pagina em HTML, eu coleto eles pelo JS, faço os cálculos e devolvo na tabela que vai gerando as linhas de forma dinâmica, mas agora eu quero pegar esses dados que que estão sendo lançados nas linhas das tabelas, para por exemplo, trazer uma media geral de custo por KM, ou uma media geral de consumo por KM, eu ainda não consegui entender como vou coletar essas informações que estão sendo geradas, cada vez que gera uma nova linha na tabela.
Esse seria o código HTML ao qual coleto as Informações:
<body id="body">
<div class="container">
<h1 class="page-title">
CALCULADORA MEDIA COMBUSTIVEL
</h1>
Selecione o tipo de Combustivel:
<select id="combustiveis">
<option value="gasolina">Gasolina</option>
<option value="etanol">Etanol</option>
<option value="diesel">Diesel</option>
<option value="dieselS10">DIesel S10</option>
</select>
<p class="quilometragem">Informe a Km Inicial</p>
<input type="number" id="kmInicial" placeholder="Digite aqui"/><br>
<p class="quilometragem">Informe a Km Final</p>
<input type="number" id="kmFinal" placeholder="Digite aqui"/><br>
<p class="litros">Informe a Quantidade de Litros</p>
<input type="number" id="qtdLitros" placeholder="Digite aqui"/><br>
<p class="valor">Informe o valor total gasto</p>
<input type="number" id="valorTotal" placeholder="Digite aqui"/><br>
<button type="submit" onclick="calcular()">CALCULAR</button>
</div>
<script src="app.js"></script>
<div class="relatorio">
<table id="tabela" border="1px" cellpadding="5px" cellspacing="0">
<tr class="cabecalho">
<td>Combustivel</td>
<td>Km Inicial</td>
<td>Km Final</td>
<td>Qt Litros</td>
<td>Valor/Lt</td>
<td>Valor Total</td>
<td>Km Rodados</td>
<td>Media/Km</td>
<td>Custo/Km</td>
</tr>
</table>
</div>
</body>
Esse seria o código JS:
function calcular() {
let select = document.getElementById("combustiveis");
let option = select.options[select.selectedIndex].text;
let quantLitros = parseInt(document.getElementById("qtdLitros").value);
let valorTotal = parseInt(document.getElementById("valorTotal").value);
let valorUnit = (valorTotal / quantLitros).toFixed(2);
let kmInicial = parseInt(document.getElementById("kmInicial").value);
let kmFinal = parseInt(document.getElementById("kmFinal").value);
let kmRodados = kmFinal - kmInicial;
let mediaKm = kmRodados / quantLitros;
let custoKm = (kmRodados / valorTotal).toFixed(2);
let table = document.createElement('table');
let tbody = document.createElement('tbody');
table.appendChild(tbody);
let linha2 = document.createElement('tr');
let combustivel = document.createElement('td');
combustivel.innerHTML = option;
let inicialKm = document.createElement('td');
inicialKm.innerHTML = kmInicial;
let finalKm = document.createElement('td');
finalKm.innerHTML = kmFinal
let litrosQtd = document.createElement('td');
litrosQtd.innerHTML = quantLitros
let untValor = document.createElement('td');
untValor.innerHTML = valorUnit;
let totalValor = document.createElement('td');
totalValor.innerHTML = valorTotal;
let kmTotal = document.createElement('td');
kmTotal.innerHTML = kmRodados;
let kmMedia = document.createElement('td');
kmMedia.innerHTML = mediaKm;
let kmCusto = document.createElement('td');
kmCusto.innerHTML = custoKm;
linha2.appendChild(combustivel);
linha2.appendChild(inicialKm);
linha2.appendChild(finalKm);
linha2.appendChild(litrosQtd);
linha2.appendChild(untValor);
linha2.appendChild(totalValor);
linha2.appendChild(kmTotal);
linha2.appendChild(kmMedia);
linha2.appendChild(kmCusto);
tbody.appendChild(linha2);
document.getElementById('tabela').appendChild(tbody);
}