1 //为Object.prototype增加method方法,下次为对象添加方法不必键入prototype 2 Object.prototype.method=function(name,func){ 3 if(!this.prototype[name]){ 4 this.prototype[name]=func; 5 return func; 6 } 7 }; 8 //为数组添加rank排序方法 9 Array.method("rank",function(f){ 10 var t=0, 11 len=this.length; 12 //冒泡排序法 13 for(var i=0;i<len;i++){ 14 for(var j=1;j<len;j++){ 15 if(f(this[j],this[j+1])>0){ 16 t=this[j]; 17 this[j]=this[j+1]; 18 this[j+1]=t; 19 } 20 } 21 } 22 return this; 23 }); 24 var data=[4,42,15,8,16,23,42]; 25 var compare=function(a,b){ 26 return a-b; 27 }; 28 document.writeln(data.rank(compare));//4,8,15,16,23,42,42
为数组添加一个原生的Array.prototype.rank(f);给数组排序
时间: 2024-11-07 13:28:27