/** * 比較函數 * @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; } }
a=["我","是","睡","碼"] a.sort(function(p1,p2){return p1.localeCompare(p2)})//簡單的能夠直接這樣用,若是還有數字英文就用引用上面的方法