尽可能容易地对数组中的行进行排序(JavaScript)

时间:2019-03-03 18:15:14

标签: javascript html

我有这张表,其中包含750行信息。其使用php提取。但是,在弹出该图像的行之一中,图像src将为1.jpg或0.jpg。这将在https://gyazo.com/81f37995cfb2fbeaec157716d06b3816这两张图片之间进行选择。

因此,如何在显示的图片之后对这一行进行排序,以及如何使代码尽可能简单,以确保使用网站订购该行的计算机不会花费很长时间/精力。 (当然使用Javascipt)

因此,该代码应该重新排列行,例如,首先放置带有的td,然后再放置带有结尾。对它们进行排序。

示例代码:

<table>
  <tbody>
    <tr>
      <th>Name</th>
      <th>Checked or unchecked</th>
    </tr>
    <tr>
      <td>Name1</td>
      <td><img src="1.jpg" /></td>
    </tr>
    <tr>
      <td>Name2</td>
      <td><img src="0.jpg" /></td>
    </tr>
  </tbody>
</table>

1 个答案:

答案 0 :(得分:0)

您可以使用此功能:

function sortCol(desc) {
  const tbl = document.querySelector("table>tbody");
  const rows = Array.from(tbl.rows).slice(1).sort((a, b) =>
    a.querySelector("img").src.localeCompare(b.querySelector("img").src)
  );
  if (desc) rows.reverse();
  rows.forEach(row => tbl.appendChild(row));
}

要具有降序排序时,请使用参数true进行调用。如果页面上有多个表,则需要在函数开始时限定选择器以定位正确的表。