さまざまなソースから取り込まれたデータベースのテーブル項目をグループ化しようとしています。そのうちの1つは、自動アラート/アラームシステムです。データ属性に基づいてテーブル上の繰り返し項目を特定する方法
表は次のようになります。あなたはより多くの背景を与えるために
\t var rows = [];
\t var tableRows = $("#tabla1 > tbody > tr > td:nth-child(3)");
\t tableRows.each(function(n){
\t \t var row = {};
\t \t var timecode = this.dataset.timecode;
\t \t var service = this.dataset.service;
\t \t row.timecode = timecode;
\t \t row.service = service;
\t \t rows.push(row)
\t });
\t console.log(rows);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="tabla1">
\t <tbody class="table-hover">
\t \t <tr class="even">
\t \t \t <td align="center">
\t \t \t \t <img src="">
\t \t \t </td>
\t \t \t <td><span>ALARM</span>
\t \t \t </td>
\t \t \t <td data-timecode="06Oct 18:25 URB07A" data-service="C"></td>
\t \t </tr>
\t \t <tr class="odd">
\t \t \t <td align="center">
\t \t \t \t <img src="">
\t \t \t </td>
\t \t \t <td><span>ALARM</span>
\t \t \t </td>
\t \t \t <td data-timecode="06Oct 18:27 URB07B" data-service="C"></td>
\t \t </tr>
\t \t <tr class="even">
\t \t \t <td align="center">
\t \t \t \t <img src="">
\t \t \t </td>
\t \t \t <td><span>ALARM</span>
\t \t \t </td>
\t \t \t <td data-timecode="06Oct 18:27 URB07B" data-service="T"></td>
\t \t </tr>
\t \t <tr class="odd">
\t \t \t <td align="center">
\t \t \t \t <img src="">
\t \t \t </td>
\t \t \t <td><span>ALARM</span>
\t \t \t </td>
\t \t \t <td data-timecode="06Oct 18:35 CAD51B" data-service="C"></td>
\t \t </tr>
\t \t <tr class="even">
\t \t \t <td align="center">
\t \t \t \t <img src="">
\t \t \t </td>
\t \t \t <td><span>ALARM</span>
\t \t \t </td>
\t \t \t <td data-timecode="06Oct 18:35 CAD51B" data-service="I"></td>
\t \t </tr>
\t \t <tr class="odd">
\t \t \t <td align="center">
\t \t \t \t <img src="">
\t \t \t </td>
\t \t \t <td><span>ALARM</span>
\t \t \t </td>
\t \t \t <td data-timecode="06Oct 18:35 CAD51B" data-service="T"></td>
\t \t </tr>
\t </tbody>
</table>
、テーブルの各行は、警報/警告が自動または手動で生成されます。アラームの種類は「データサービス」属性に示され、タイムコードとゾーンコードは「タイムコード」と呼ばれる別の属性に表示されます。
これは一例であり、この例では不要な他の列が表にあります。
私がする必要があるのは、「タイムコード」が同じであるすべての行をグループ化または少なくとも強調表示することだけです。理想的なケースは、同様のアイテムを消去し、強調表示されたものだけを残すことですが、これはさまざまなタイプの同じアラームであることを意味します。
私はオブジェクト内のアイテムを「タイムコード」と「サービス」の行ごとに整理することができました。これらのオブジェクトはすべて配列内にあります。
ここで、類似の「タイムコード」があるかどうかを確認するために、各オブジェクトを他のオブジェクトと比較する方法はわかりません。
最後に、テーブルには最大1000行まで格納できますが、通常は150〜250個のアラームがあります。だから、何らかのルーチンを実行するのにかかる時間は考慮すべきものです。
[この質問は非常に似ている]ことに注意してください(http://stackoverflow.com/questions/26824625/group-list-items-into-sub-lists-based-on- a-data-attribute?rq = 1)が、十分に異なる。 –