kembali ke pelajaran
Materi ini hanya tersedia dalam bahasa berikut: English, Espa??ol, Fran??ais, Italiano, ?????????, ?????????, ??????????????, T??rk??e, ????????????????????, ????????????. Tolong, menerjemahkan ke dalam Indonesia.

Sort the table

pentingnya: 5

There???s a table:


There may be more rows in it.

Write the code to sort it by the "name" column.

Buka sandbox untuk tugas tersebut.

The solution is short, yet may look a bit tricky, so here I provide it with extensive comments:

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 <tr>, from <tbody>.
  2. Then sort them comparing by the content of the first <td> (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 <tbody> in the table, but even if HTML table doesn???t have <tbody>, the DOM structure always has it.

Buka solusi di kotak pasir.