JavaScript写的简单排序

<script language="javascript">
    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,7,25 );   // 生成一数组
        document.write("<li>排序前:"+numAry);          // 输出排序前的数据
        SortNumber( numAry, greatThan )                 // 调用排序函数
        document.write("<li>排序后:"+numAry);          // 输出排序后的数组
    }
    catch(e)
    {
        alert( e.number+":"+e.message );               // 异常处理
    }
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值