有没有做过这种例子的用ajax实现table遍历后自定义排序的

序方式就是 我获取到table 的 北京 上海 让这两行根据 量 只对他两个排 序,并放在第二行和第三行,然后对深圳 厦门排序 放在第四行和第五行

这是我通过ajax遍历的数据

img

function abc() {
        var table2;
        $.ajax({
            url: "/zd/ab",
            type: "POST",
            async:false,
            data:{},
            success: function (data){
                var sum1=0;
                $("#ab").html("");
                $("#ab").append("<tr><td>名字</td><td>量</td></tr>")
                $.each(data, function (i,gui){
                    sum1+=Number(gui.currentCount);
                    console.log(JSON.stringify(gui))
                    $("#ab").append("<tr>" +
                        "<td style='width: 200px;border: 1px solid black;'>"+gui.name+"</td>"
                        + "<td  style='width: 200px;border: 1px solid black;'>"+gui.currentCount+"</td></tr>");
                });
                $("#ab").append("<tr>" + "<td style='width: 200px;border: 1px solid black;'>合计</td>"
                    + "<td  style='width: 200px;border: 1px solid black;order: '>"+sum1+"</td></tr>");
                table2=$('#ab').find("tr").length;
            }
        } );


写了一个思路

        const data = [
            {name: '北京', num: 4},
            {name: '上海', num: 2},
            {name: '深圳', num: 3},
            {name: '厦门', num: 6},
            {name: '成都', num: 7},
            {name: '天津', num: 2},
            {name: '重庆', num: 1}
        ]
        let filters = ['北京', '上海', '深圳', '厦门']
        let temArr1 = data.filter(item => item.name === '北京' || item.name === '上海') // 取出 北京上海
        let temArr2 = data.filter(item => item.name === '深圳' || item.name === '厦门') // 取出 深圳厦门
        let baseArr = data.filter(item => !filters.includes(item.name)) // 剩余数据
        // 排序
        temArr1.sort((a, b) => a.num - b.num)
        temArr2.sort((a, b) => a.num - b.num)
        // 将排序后的北上深夏插入
        baseArr.splice(1, 0, ...temArr1, ...temArr2)
        console.log(baseArr)

你要做的是数据排序

数据驱动就好了 。把数据排完序直接 循环就行