js 排序

js 排序


最近在做微信小程序云开发,因为小程序限制,客户端数据查询数量为20,服务端查询数量为100,因此不能直接在api查询语句上排序。还得全部输出

以下排列方式来自网上:
1.sort 排序(方法用于对数组的元素进行排序,可用于字母a-z,数字)

	 //方法 b-a 未降序 a-b为升序 排列
	  function sortId(a,b){  
        return b-a;
     }
	
	//传入数据 res.data 为数组
	res.data.sort(sortId);

不过这种方式不能有回调,对于数据量大或者多个条件时行不通

2.循环 取出数组排序

//arr 数据 n 作比较的对象元素 callback 回调
function bubbleSort(arr,n,callback)
     {
        var len = arr.length;
        for(var i = 0;i < len; i++) { 
            for(var j = 0;j < len - 1- i; j++) { 
                if(arr[j+1][n]  > arr[j][n])
                { //相邻元素两两对比
                    var temp = arr[j+1];
                    //元素交换
                    arr[j+1]= arr[j]; 
                    arr[j] = temp;
                }
                console.log(i);
                if(i>=len-2){
                  callback(arr);
                }
            }
        }
     }
  //调用
	bubbleSort(res.data,'time',function(arr){
	
	})

你可能感兴趣的:(js 排序)