js陣列排序(二)字母排在漢字前
阿新 • • 發佈:2021-10-12
要求陣列中字母排在漢字前面。同時全漢字排在最後面
// 判斷字串是否全是中文 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);
結果輸出
記錄程式設計的點滴,體會學習的樂趣