1. 程式人生 > 其它 >js陣列排序(二)字母排在漢字前

js陣列排序(二)字母排在漢字前

要求陣列中字母排在漢字前面。同時全漢字排在最後面

        // 判斷字串是否全是中文
        function isAllChinese(str) {
            return /^[\u4E00-\u9FA5]+$/.test(str)
        }

        // 判斷字元是否為中文
        function isChinese(char) {
            return /^[\u4E00-\u9FA5]$/.test(char)
        }

        var  arr=["Jordan","科比a","James","奧尼爾"];
        arr.sort(
function(a,b){ return (a+'').localeCompare(b+'');}); //先排序 var newArr=arr.sort(function(a,b){ //字母在漢字前面 if(!isChinese(a.substr(0,1)) && isChinese(b.substr(0,1))){ return -1 } // 全漢字的排在非全漢字的後面 if (isAllChinese(a) && !isAllChinese(b)) {
return 1 } if (!isAllChinese(a) && isAllChinese(b)) { return -1 } }); alert(newArr);

結果輸出

記錄程式設計的點滴,體會學習的樂趣