diff --git a/2-ui/1-document/07-modifying-document/12-sort-table/solution.md b/2-ui/1-document/07-modifying-document/12-sort-table/solution.md index bfe51303d6..a74f31acaf 100644 --- a/2-ui/1-document/07-modifying-document/12-sort-table/solution.md +++ b/2-ui/1-document/07-modifying-document/12-sort-table/solution.md @@ -1,19 +1,18 @@ Решение короткое, но может показаться немного сложным, поэтому здесь я предоставлю подробные комментарии: - ```js -let sortedRows = Array.from(table.rows) - .slice(1) - .sort((rowA, rowB) => rowA.cells[0].innerHTML > rowB.cells[0].innerHTML ? 1 : -1); +let sortedRows = Array.from(table.tBodies[0].rows) // 1 + .sort((rowA, rowB) => rowA.cells[0].textContent.trim().localeCompare(rowB.cells[0].textContent.trim())); // 2 -table.tBodies[0].append(...sortedRows); +table.tBodies[0].append(...sortedRows); // 3 ``` -1. Получим все ``, как `table.querySelectorAll('tr')`, затем сделаем массив из них, потому что нам понадобятся методы массива. -2. Первый TR (`table.rows[0]`) -- это заголовок таблицы, поэтому мы берём `.slice(1)`. -3. Затем отсортируем их по содержимому в первом `` (по имени). -4. Теперь вставим узлы в правильном порядке `.append(...sortedRows)`. +Пошаговый алгоритм: + +1. Получим все `` из `` в виде массива, потому что нам понадобится метод `sort`. +2. Затем отсортируем их по содержимому в первом `` (по имени). +3. Теперь вставим узлы в правильном порядке `.append(...sortedRows)`. - Таблицы всегда имеют неявный элемент ``, поэтому нам нужно получить его и вставить в него: простой `table.append(...)` потерпит неудачу. +Обратите внимание: нам не нужно их удалять, просто "вставляем их заново", они автоматически покинут старое место. - Обратите внимание: нам не нужно их удалять, просто "вставляем их заново", они автоматически покинут старое место. +Таблицы всегда имеют неявный элемент ``, поэтому нам нужно получить его и вставить в него: простой `table.append(...)` потерпит неудачу. diff --git a/2-ui/1-document/07-modifying-document/12-sort-table/solution.view/index.html b/2-ui/1-document/07-modifying-document/12-sort-table/solution.view/index.html index b47cf85582..91bd84a71f 100644 --- a/2-ui/1-document/07-modifying-document/12-sort-table/solution.view/index.html +++ b/2-ui/1-document/07-modifying-document/12-sort-table/solution.view/index.html @@ -26,10 +26,9 @@