JavaScript数组排序

1、纯字符排序:

var arr = ['c','a','d','b'];
arr.sort();
alert(arr);//a,b,c,d

 

2、纯数字排序:

数字排序不能直接使用sort( )方法,因为它是直接先比较第一位数字

var arr1 = [1,5,3,8,56,23,2];
arr1.sort();
alert(arr1);//1,2,23,3,,5,56,8

应该在sort( )方法中放一个比较函数:
由小到大排序

var arr1 = [1,5,3,8,56,23,2];
// 在sort( )方法中放一个比较函数
arr1.sort(function(a,b){//a,b是参数
    return a-b;//由小到大进行排序
});
alert(arr1);//1,2,3,5,8,23,56

由大到小排序:

var arr1 = [1,5,3,8,56,23,2];
// 在sort( )方法中放一个比较函数
arr1.sort(function(a,b){//a,b是参数
    return b-a;//由小到大进行排序
});
alert(arr1);//56,23,8,5,3,2,1

解析:比较函数中a-b是第一个数减去第二个数,如果是正数那么就调换他们之间的位置,如果是负数就不调换位置;

 

3、数字带单位排序

根据数字大小来进行排序:

var arr2 = ['10px','48px','13px','100px','50px'];
arr2.sort(function(a,b){
    return parseInt(a) - parseInt(b);//只是改变位置,并不会改变类型
});
alert(arr2);//10px 13px 48px 50px 100px

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.duanlonglong.com/qdjy/302.html