1.直接用默认的sort方法,是按照Unicode排序,可能存在问题
例如:110,11,12=>11,110,12 (110会在12前面)
2.重写数组的sort方法进行数字排序:
arr.sort(function(a,b){return a-b;})
3.重写数组的sort方法进行拼音排序:
arr.sort(function(a,b){return a.localeCompare(b)})
<script>
var arr = [1, 12, 10, 110, 45];
console.log(arr.sort())// [1, 10, 110, 12, 45]
var result = arr.sort(function (a, b) {
return a - b;
})
console.log(result);// [1, 10, 12, 45, 110]
var hanzi = ["哥哥", "姐姐", "弟弟", "妹妹","家庭"]
var result2 = hanzi.sort(function (a, b) {
return a.localeCompare(b);
})
console.log(result2)// ["弟弟", "哥哥", "家庭", "姐姐", "妹妹"]
</script>