JSFiddle - React, Tailwind, and code Playground
HTML
<table id="students" border="1">
<thead>
<tr>
<th>Name</th>
<th>Age</th>
<th>Grade</th>
</tr>
</thead>
<tbody>
<tr class="student">
<td>Oscar</td>
<td>23</td>
<td>16.5</td>
</tr>
<tr class="student">
<td>Antonio</td>
<td>32</td>
<td>14</td>
</tr>
<tr class="student">
<td>Jessica</td>
<td>21</td>
<td>19</td>
</tr>
</tbody>
</table>
JavaScript
var tblhdr = $('table#students th').map(function () {
return $(this).text();
}).get();
console.log(tblhdr);
var tbl = $('table#students tbody tr').map(function(idx, el) {
var td = $(el).find('td');
var obj = {id: idx+1};
for (var i = 0; i < tblhdr.length; i++) {
obj[tblhdr[i]] = td.eq(i).text();
}
return obj;
}).get();
console.log(tbl);