编写一个排序函数,实现数字排序。排序方法由客户函数实现,函数参数个数为两个,两个参数的关系作为排序后的元素间的关系。

编写一个排序函数,实现数字排序。排序方法由客户函数实现,函数参数个数为两个,两个参数的关系作为排序后的元素间的关系。

<script>function SortNumber(obj,func) //定义通用排序函数{//参数验证,如果第一个参数不是数组或第二个参数不是函数则抛出异常if(!(obj instanceof Array) || !(func instanceof Function)) {var e = new Error(); //生成错误信息e.number = 100000; //定义错误号e.message = "参数无效"; //错误描述throw e; //抛出异常}for(n in obj) //开始排序{for(m in obj){if(func( obj[n],obj[m]) ) //使用回调函数排序,规则由用户设定{var tmp = obj[n]; //创建临时变量obj[n] = obj[m]; //交换数据obj[m] = tmp;}}}return obj; //返回排序后的数组}function greatThan(arg1,arg2) //回调函数,用户定义的排序规则{return arg1 < arg2;}try{var numAry = new Array(5,8,6,32,1,45,6,89,9); //生成一数组document.write("<li>排序前:"+numAry); //输出排序前的数组SortNumber(numAry,greatThan); //调用排序函数document.write("<li>排序后:"+numAry); //输出排序后的数组}catch(e){alert(e.number+":"+e.message);}</script>