關於字符串排序, 數字排序


    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:北京,成都,大連,上海
            }
    ));

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM