JavaScript通用排序函数实现数字排序
作者:纸飞机时间:2026-10-29 11:59:16浏览:279
本文介绍了一个通用的JavaScript排序函数,通过接收数组和比较函数作为参数,实现灵活的数字排序功能。该函数支持自定义排序规则,通过回调函数判断元素大小关系,并包含参数验证和异常处理机制,确保排序过程的安全性和可靠性。
JavaScript通用排序函数实现数字排序
JavaScript排序函数实现数字排序
<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>
以上所述就是本文的全部内容了,希望大家能够喜欢。
作者最新文章
JS动态构建复杂嵌套JSON对象的方法
2026-11-05 15:41:52
JS负数取余为什么是负数?详解余数与模运算区别
2026-11-05 13:34:41
JS 解压出现乱码或报错怎么解决?
2026-11-05 12:32:38
JS 中 startsWith、indexOf 与正则判断字符串前缀的对比
2026-11-04 22:19:43
JS解析Excel后怎么将数据转换为JSON格式
2026-11-04 20:58:28
