sort 函数里面有ab两个值,构成函数 test(a,b){return } 之后的数组两两之间均符合返回值为1的相反的规律 ,就是如果条件为a>b为1则返回的数组里面都是a<b的;
//sort函数中的ab是相对的
function oddeven(a,b){
if(a%2==0&&b%2==1){return 1};//将整个数组转化为前半部分为奇数后半部分为偶数11111222222
if(((a%2==1&&b%2==1)||(a%2==0&&b%2==0))&&a>b){return 1};//可以直接继承第一个if的结果数组,当1,2都为奇数或偶数时,进行从小到大排序
return -1;
}
//对于数组内字母不区分大小写从大到小排序
function testAdvance1(){
var a=["a","A","B","b"];a.sort(function test(a,b){
if(a.toString().toLowerCase() < b.toString().toLowerCase()){
return 1;
}
else
return -1;
});
console.log(a);
}
testAdvance1(); //["B", "b", "a", "A"]
//生成随机数组原理
function autorad(a,b){
return Math.random > 0.5 ? 1: -1;//让随机数与0.5比较,两两之间规则在1,-1之间交替,形成随机数组
}
var a=[1,2,3,4,5,6];
a.sort(autorad);
console.log(a);