Я пытаюсь создать функцию сортировки данных в Javascript, которая поместила бы одно значение (Total in my case) в самую последнюю из HTML-таблицы. Однако Total сортируется в алфавитном порядке.Нужен специальный сортировщик данных с Bootstrap, который ставит одно значение в самом конце
Вот мой код JavaScript:
function methodNameSorter(a, b) {
// Total must be at very end of the list of methods.
if (a === "Total" && b === "Total") return 0;
if (a === "Total") return 1;
if (b === "Total") return -1;
var result = a.localeCompare(b);
return result;
}
Вот HTML, который использует функцию в таблице через Bootstrap:
<table id="methods-summary-table" class="table table-hover" data-toggle="table" data-sort-name="name" data-sort-order="asc">
<thead>
<tr>
<th data-field="name" data-sortable="true" data-sorter="methodNameSorter">Method name</th>
...
</tr>
...
</thead>
...
</table>
Здесь является порядок сортировки я с этим кодом, и Итого должно быть в конце, но это не так:
Login
Logout
Total
Transaction_A
Verify_X
Знаете ли вы, что я делаю неправильно?
Каковы «а» и «б»? Являются ли они самим элементом или элементом? Если это элемент, вам нужно использовать 'if (a.innerHTML === 'Total')' вместо – Shilly
'a' и 'b' - это строки ячейки. Я могу подтвердить это, отладив его в инструментах разработчика Chrome. – GDICommander
Дважды щелкните этот код, потому что ваш код работает с массивом '['Login', 'Logout', 'Total', 'Transaction_A', 'Verify_X']', сортировка этого с помощью fn дает мне '' Login, Logout, Transaction_A, Verify_X, Total "' – Shilly