The solution is short, yet may look a bit tricky, so here I provide it with extensive comments:
```js
let sortedRows = Array.from(table.tBodies[0].rows) // 1
.sort((rowA, rowB) => rowA.cells[0].innerHTML.localeCompare(rowB.cells[0].innerHTML));
table.tBodies[0].append(...sortedRows); // (3)
```
The step-by-step algorthm:
1. Get all `
`, from `
`.
2. Then sort them comparing by the content of the first `` (the name field).
3. Now insert nodes in the right order by `.append(...sortedRows)`.
We don't have to remove row elements, just "re-insert", they leave the old place automatically.
P.S. In our case, there's an explicit ` | ` in the table, but even if HTML table doesn't have ``, the DOM structure always has it.