今天使用javascript测试了一下数组的sort方法,sort()对数字的数组排序的时候排序不对!
function testBtn(){
var numberArr = [1,5,2,9,19,14,13,12,10,23,89,54];
var zimuArr = ["a","f","c","g","b","h","d","i","k","e","j"];
numberArr.sort();
zimuArr.sort();
alert("numberArr:"+numberArr+"\n"+"zimuArr:"+zimuArr);
}
排序结果
numberArr:1,10,12,13,14,19,2,23,5,54,89,9
zimuArr:a,b,c,d,e,f,g,h,i,j,k
仔细深究的话,会发现sort() 是根据字符来排序的。所以当排序数字的时候会出错。
解决办法是 重新制定sort() 对数字的排序规则;
Array.sort(function(a,b){return a>b?1:-1});