如何把后台返回数据的根据某个选项去重新排序?

Posted 九转功成

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把后台返回数据的根据某个选项去重新排序?相关的知识,希望对你有一定的参考价值。

比如:一个用户列表要按照用户的积分高低去排序渲染(一般后台会排序之后返回给你);

例如下面的data是请求回来的数据,

var data={
      "ret_code": "0",
      "ret_msg": "ok",
      "data": {
        "users": [
              {
            "pfid": 1000011,
            "nickname": "cabbageancy",
            "headimg": "http://wx.qlogo.cn/mmopen/ajNVdqHZLLASXYCVQQeiaXKA07Mx1Lu24juBVZ40ib9IsI6ImibfsWD1R3JS5I5L4LZMmgxpC4B7Y1taCZmXHQVKic4lbHibcntI7L6S7K4gnMW8/0",
            "count": 0,
            "follow_status": 0,
            "score": 19,
            "live_id":"454654646"
          },
          {
            "pfid": 1000004,
            "nickname": "减肥沟沟壑壑健健康康快快",
            "headimg": "http://playback-langlive.ufile.ucloud.cn/4825891161c4d9a377be0785078c2158.jpg",
            "count": 0,
            "follow_status": 0,
            "score": 17,
            "live_id":"454654646"
          },
          {
            "pfid": 1023841,
            "nickname": "优雅的猫",
            "headimg": "http://blob.ufile.ucloud.com.cn/e101f4896dbd4de38b7d7e7123828ee608d7b97251148720bb7678bf10ea21b8",
            "count": 0,
            "follow_status": null,
            "score": 15,
            "live_id":"454654646"
          },
          {
            "pfid": 1000044,
            "nickname": "嘻嘻哈哈????1213",
            "headimg": "http://blob.ufile.ucloud.com.cn/45bd20f480c941f800a101bb484cb8be.jpg",
            "count": 0,
            "follow_status": null,
            "score": 13,
            "live_id":"454654646"
          },
          {
            "pfid": 1000048,
            "nickname": "珍珠奶茶??芋頭紅豆薏米",
            "headimg": "http://blob.ufile.ucloud.com.cn/c8d240b8dfb870238431f43a392b312fba00a22c15230aa66f8e33cacc6debda",
            "count": 0,
            "follow_status": null,
            "score": 10,
            "live_id":"454654646"
          },
          {
            "pfid": 1000830,
            "nickname": "58665",
            "headimg": "http://blob.ufile.ucloud.com.cn/a765a85a32fde0343476d3d5a54ce686d9370cd4e35f4ac941661c2ab6746bcd",
            "count": 0,
            "follow_status": null,
            "score": 9,
            "live_id":"454654646"
          },
          {
            "pfid": 1000941,
            "nickname": "随意",
            "headimg": "http://playback-langlive.ufile.ucloud.cn/41395b6c4851bbc8d2ac49b643ea1420",
            "count": 0,
            "follow_status": 0,
            "score": 8,
            "live_id":"454654646"
          },
          {
            "pfid": 1000052,
            "nickname": "upper",
            "headimg": "http://blob.ufile.ucloud.com.cn/9256deb2c705849daef63ace024d4fe121e68f712eefdc585692247a52cf1920",
            "count": 0,
            "follow_status": null,
            "score": 7,
            "live_id":"454654646"
          },
          {
            "pfid": 1000733,
            "nickname": "查房",
            "headimg": "http://playback-langlive.ufile.ucloud.cn/8422f67af167df7d2b2caa78ac0a4773c4eade4575b343b5a82b7a48c4bf1427",
            "count": 0,
            "follow_status": null,
            "score": 6,
            "live_id":"454654646"
          },
          {
            "pfid": 1000012,
            "nickname": "c224002",
            "headimg": "http://blob.ufile.ucloud.com.cn/0d94ae9dc33721c87af78a7b2099f5a7ab7395972444c7ab979e3dea46e8ba2e",
            "count": 0,
            "follow_status": null,
            "score": 5,
            "live_id":"454654646"
          },
          {
            "pfid": 1000039,
            "nickname": "哇呀唔唔無武呃呃??哇咔",
            "headimg": "http://blob.ufile.ucloud.com.cn/25f0e2243ac9f515ed3be2fb1854c8b7db8e04b195a088962179cf5937ae25dd",
            "count": 0,
            "follow_status": null,
            "score": 4,
            "live_id":null
          },
          {
            "pfid": 1000049,
            "nickname": "思考解决",
            "headimg": "http://blob.ufile.ucloud.com.cn/6b7f50b02ed10b72159ccf1f00a73ab9.jpg",
            "count": 0,
            "follow_status": null,
            "score": 3,
            "live_id":null
          },
          {
            "pfid": 1000040,
            "nickname": "??\"sting\"??",
            "headimg": "http://blob.ufile.ucloud.com.cn/3f8f9f008d9d34a9b4cdffd32a06a3d8.jpg",
            "count": 0,
            "follow_status": null,
            "score": 2,
            "live_id":null
          },
          {
            "pfid": 1000010,
            "nickname": "gggggg",
            "headimg": "http://blob.ufile.ucloud.com.cn/f9cb7d8ac961fb9b3d5a882aea55bfe5",
            "count": 0,
            "follow_status": null,
            "score": 1,
            "live_id":null
          }
        ],
        "my": {
          "live_id": null,
          "live_key": "",
          "stream_direction": 0,
          "live_url": "",
          "headimg": "http://blob.ufile.ucloud.com.cn/c8d240b8dfb870238431f43a392b312fba00a22c15230aa66f8e33cacc6debda",
          "nickname": "珍珠奶茶??芋頭紅豆薏米",
          "pfid": 1000048,
          "follow_status": 0
        }
      }
    }
var users=data.data.users;
sortData(users);
// 1 把人員按照積分从高到底排列,冒泡排序
function sortData(lists){
    for(var n=1;n<lists.length;n++){
        for(var k=0;k<lists.length-1;k++){
            var max=lists[k].score;
            var nextCount=lists[k+1].score;
            if(nextCount>max){
                var preData=lists[k];
                lists[k]=lists[k+1];
                lists[k+1]=preData;
            }
        }
    }
    console.log(lists);//此时lists就是按照积分高低排序之后的列表
}

 

以上是关于如何把后台返回数据的根据某个选项去重新排序?的主要内容,如果未能解决你的问题,请参考以下文章

代码记录

Java查询出来的数据按照某个字段排序

将后台的返回的格式,根据某个共同的字段分组

如何根据数据属性对div进行排序,并更改下拉列表

C# list<>根据对象的某个属性排序

SQL SERVER中某个字段属性为varchar,我想把这个字段改成int型,如何操作?