标签:
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:北京,成都,大连,上海 } ));
标签:
原文地址:http://www.cnblogs.com/joesbell/p/5892416.html