用正则表达式对<table>进行排序

问题描述

这可能真的很简单,但我无法解决

如何更改正则表达式以进行排序;

  <thead>
    <tr class="Headers">
      <th>Number</th>
      <th>uploaded</th>
      <th>file</th>
    </tr>
  </thead>
  <tbody>
    <tr class="Entries" data-id="13">
      <td data-field-type="string">1234</td>
      <td data-field-type="date">12 Jan</td>
      <td>9393939828282</td>
    </tr>
    <tr class="Entries" data-id="24">
      <td data-field-type="string">1352</td>
      <td data-field-type="date">4 October </td>
      <td>1238383</td>
    </tr>
    <tr class="Entries" data-id="8">
      <td data-field-type="string">1124</td>
      <td data-field-type="date">13 May </td>
      <td>0934899</td>
    </tr>
    <tr class="Entries" data-id="23">
      <td data-field-type="string">1652</td>
      <td data-field-type="date">7 November </td>
      <td>929474900</td>
    </tr>
    <tr class="Entries" data-id="23">
      <td data-field-type="string">1652</td>
      <td data-field-type="date">7 July</td>
      <td>8837483</td>
    </tr>
  </tbody>
</table>

这是错误的,但这是脚本;

<script>
const re = /(Jan(uary)?|Feb(ruary)?|Mar(ch)?|Apr(il)?|May|Jun(e)?|Jul(y)?|Aug(ust)?|Sep(tember)?|Oct(ober)?|Nov(ember)?|Dec(ember)?)\s+\d{1,2},\s+\d{4}/

const makeDate = ($tr) => {
  const [,dd,mm ] = $("[data-field-type=date]",$tr).eq(0).text()
    .match(re);
  const dString = `${mm}`;
  return new Date(dString).getTime()
};
const tbSort = tableId => {
  const $tb = $("#" + tableId + " tbody");
  $tb.append(
    $('tr.Entries',$tb).sort((a,b) => makeDate($(b)) - makeDate($(a))) // descending
  );
};

tbSort("table1")

</script>

我想知道如何解决它以及我做错了什么。。。一段时间以来,我一直试图掌握这些表情,但是没有运气。。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)