情况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 ); //所以最后排出来的是随机顺序
注:记住用法就够了,深入的机制不用再花更多时间去研究