情况1:

var arr = [ 'c', 'd', 'a', 'e' ];      //都是字母的情况
arr.sort();
//alert( arr );                           //a,c,d,e

情况2:

var arr2 = [ 4,3,5,5,76,2,0,8 ];
arr2.sort();                         //还是按照字符串的方法排列
//alert( arr2 );                      // 0,2,3,4,5,5,76,8

arr2.sort(function ( a, b ) {

  return a - b;               // (从小到大排列,原理:如果a-b>0,则a和b互换位置,如果a-b<0;则a和b不换位置{return a-b;是按从小到大排列,return b-a;则是按从大到小排列})
});

//alert(arr2 )      // 0,2,3,4,5,5,8,76

 情况3:

var arrWidth = [ '345px', '23px', '10px', '1000px' ];    //这是字母和数字都有的情况

arrWidth.sort(function ( a, b ) {
return parseInt(a) - parseInt(b);                             //先转变类型比较换位后,a,b本身并没有改变
});

alert( arrWidth );                                                 //10px,23px,345px,1000px

情况4:结合Math.radom()随机排序

var arr = [ 1,2,3,4,5,6,7,8 ];

arr.sort(function ( a, b ) {  return Math.random() - 0.5;     //Math.random()随机范围0-1(包括0和1)有可能是正值也有可能是负值,这样就是ab交换位置也是随机的 });

alert( arr );        //所以最后排出来的是随机顺序

注:记住用法就够了,深入的机制不用再花更多时间去研究

05-11 19:33