使用JavaScript中的Merge排序对表列进行排序

时间:2018-05-01 12:47:24

标签: javascript php sorting quicksort mergesort

我正在尝试用JS对我的表进行排序,我有大量的条目,我正在使用的当前方法是永远的,请你帮我优化它或提供更好的代码。

感谢。 :)

function sortTable(n) {
var table, rows, switching, i, x, y, shouldSwitch, dir, switchcount = 0;
table = document.getElementById("AdminT");
switching = true;
dir = "asc";
while (switching) {

    switching = false;
    rows = table.getElementsByTagName("TR");


    for (i = 1; i < (rows.length - 1); i++) {

        shouldSwitch = false;

        x = rows[i].getElementsByTagName("TD")[n];
        y = rows[i + 1].getElementsByTagName("TD")[n];

        if (dir == "asc") {
            if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {

                shouldSwitch = true;
                break;
            }
        } else if (dir == "desc") {
            if (x.innerHTML.toLowerCase() < y.innerHTML.toLowerCase()) {

                shouldSwitch = true;
                break;
            }
        }
    }
    if (shouldSwitch) {


        rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
        switching = true;
        switchcount++;
    } else {
        if (switchcount == 0 && dir == "asc") {
            dir = "desc";
            switching = true;
        }
    }
}}

0 个答案:

没有答案