关于字符串排序, 数字排序

    test.sort(compareFunc);
//    sort函数自定义排序,针对不规则,数字,字符串集合
//    * 比较函数
//    * @param {Object} param1 要比较的参数1
//    * @param {Object} param2 要比较的参数2
//    * @return {Number} 如果param1 > param2 返回 1
//    *                     如果param1 == param2 返回 0
//    *                     如果param1 < param2 返回 -1
//    */
    function compareFunc(param1,param2){
        //如果两个参数均为字符串类型
        if(typeof param1 == "string" && typeof param2 == "string"){
            return param1.localeCompare(param2);
        }
        //如果参数1为数字,参数2为字符串
        if(typeof param1 == "number" && typeof param2 == "string"){
            return -1;
        }
        //如果参数1为字符串,参数2为数字
        if(typeof param1 == "string" && typeof param2 == "number"){
            return 1;
        }
        //如果两个参数均为数字
        if(typeof param1 == "number" && typeof param2 == "number"){
            if(param1 > param2) return 1;
            if(param1 == param2) return 0;
            if(param1 < param2) return -1;
        }
    }
    var testArray = ["北京","上海","大连","成都"];
//    localeCompare()方法,针对字符串排序, 升序, 英文, 中文根据首字拼音
    document.write(testArray.sort(
            function compareFunction(param1,param2){
                return param1.localeCompare(param2);  //output:北京,成都,大连,上海
            }
    ));

 

转载于:https://www.cnblogs.com/joesbell/p/5892416.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值