这是我准备用sort()排序的数组:
用sort()进行排序之后的数组是这样:
数字9竟然排到了最后面,显然没有达到预期。
原因:
js数组的sort方法总会以第一个字符的ASCII值来进行比较排序;
解决方案:
效果展示:(amazing~)
源码:
function sortCompare(val1,val2){
if(val1<val2) return -1;
else if(val1>val2) return 1;
else return 0
}
sumKong.sort(sortCompare)
另一种写法:
export const getDataSort = function (data, name){
return data.sort(function(a,b){
return a[name] - b[name];
});
}
使用:
common.getDataSort(yesterdayRank.dayRank.data.rankingDay||[], 'ranking');