JSFiddle - React, Tailwind, and code Playground
HTML
<table>
<tr>
<th>ID</th>
<th>Date</th>
<th>Source</th>
</tr>
<tr>
<td>50</td>
<td>2012-01-01</td>
<td>ON</td>
</tr>
<tr>
<td>94</td>
<td>2013-06-05</td>
<td>MB</td>
</tr>
<tr>
<td>80</td>
<td>2011-07-08</td>
<td>AB</td>
</tr>
<tr>
<td>50</td>
<td>2012-01-01</td>
<td>ON</td>
</tr>
<tr>
<td>50</td>
<td>2012-01-01</td>
<td>MB</td>
</tr>
</table>
JavaScript
var sorters =['ON','AB','MB']
var $rows = $('tr:gt(0)').detach().sort(function(a, b){
var aSrcIdx =sorters.indexOf( $(a).find('td:last').text() );
var bSrcIdx = sorters.indexOf( $(b).find('td:last').text());
return aSrcIdx > bSrcIdx;
});
$('table').append($rows)