- sort函数为数组的方法,数组对象可以直接调用,返回排序后的数组,且改变原数组,不开辟新的内存,如果无参数以字母表顺序排序,有undefine放到最后
升序排列
var a = [100,200,13,41,-8,77]; a.sort(function(a,b){ //升序排列 return a-b; });
输出为[-8, 13, 41, 77, 100, 200]
降序排列
var a = [100,200,13,41,-8,77]; a.sort(function(a,b){ //升序排列 return b-a; });
输出为[200, 100, 77, 41, 13, -8]
颠倒排列
var a = [100,200,13,41,-8,77];
a.sort(function(){
//升序排列
return 1;
});
输出为[77, -8, 41, 13, 200, 100]随机数组
var a = [100,200,13,41,-8,77];
a.sort(function(){
//升序排列
return Math.random() - 0.5;
});
输出为不定,可自己测试
同时我不是很明白这其中的原理
a.sort(function(x,y){
var c = Math.random() - 0.5;
console.log(a + " " + x+ " " + y + " " + c);
return c;
})
测试输出比较次数不定
希望有大神能解答一下^_^