var a = [3,7,2];
微信小程序数据排序,先将数据按从小到大排序
//定义compare函数,参数name是对象的某一个属性,比如age、salary
//返回一个可以用来对包含该成员的对象数组进行排序的比较函数
compare: function(name) {
return function(o, p) {
var a, b;
if (typeof o === "object" && typeof p === "object" && o && p) {
a = o[name];
b = p[name];
if (a === b) {
return 0;
}
if (typeof a === typeof b) {
return a < b ? -1 : 1;
}
return typeof a < typeof b ? -1 : 1;
} else {
throw ("error");
}
}
},
对比的方法如上面的代码,现在我们要做的就是用数据源调用上面的方法。
itemList: [{
XZQDM: "",
XZQMC: "",
AllCount: 0,
DealCount: 0,
UnDealCount: 0,
UnAbleDealCount: 0,
UnNeedDealCount: 0,
DealRate: "",
WFYDMJ: 0,
GDMJ: 0,
GDMJRate: "",
JBNTMJ: 0,
JBNTMJRate: ""
}],
这里我们对itemList数组数据进行排序,排序是依据DealCount这个字段来从小到大排序,
that.setData({
itemList: that.data.itemList.sort(that.compare("DealCount")),
})
一般排序需要从大到小倒序排序,这个时候我们直接将上面的代码加上.reverse()进行倒序排序就可以了。
that.setData({
itemList: that.data.itemList.sort(that.compare("DealCount")).reverse(),
})