高阶函数的定义:函数的函数是可以把函数作为参数,或者将函数作为返回值的函数
var arr = [10,52,39,6,25,1,3];
Array.prototype.mysort = function(fn) {
var temp;
var length = this.length;
for(var i=0; i<length; i++) {
for(var j=i+1; j<length; j++) {
var result = fn(this[i],this[j]);
if(result > 0 ) {
temp = this[i];
this[i] = this[j];
this[j] = temp;
}
}
}
}
// arr.mysort(function(a,b){
// return a-b;
// });
arr.mysort(function(a,b){ //降续
return b-a;
});
for(var i=0; i<arr.length;i++) {
console.log(arr[i]);
}
arr.mysort(function(a,b){ //升序
return a-b;
});
for(var i=0; i<arr.length;i++) {
console.log(arr[i]);
}