sort()的排序规则是通过数组内容的第一位内容的字符编码进行排序(如果第一位相同就看第二位以此规律类推)
可以通过字符串的charCodeAt()来查看指定字符串的字符编码
1、对数组内容从小到大排序
var arr1=[1,5,8,3,9];
console.log(arr1.sort());//[1, 3, 5, 8, 9]
/*对负数有局限性,最好使用函数传参返回值进行比较*/
/*例:var arr1=[-2,-11,1,5,8,3,9,-99];
console.log(arr1.sort());[-11, -2, -99, 1, 3, 5, 8, 9]*/
var arr2=['ab','b','d','s','ac'];
console.log(arr2.sort());//['ab', 'ac', 'b', 'd', 's']
var arr=['赵','钱','孙','李'];
console.log(arr.sort());//['孙', '李', '赵', '钱']
2、sort()通过传递函数的方式,在通过返回函数参数相减顺序来获得新的排列顺序
var arr1=[-11,-99,0,1,3,7,-2];
console.log(arr1.sort(function(a,b){return a-b}));//[-99, -11, -2, 0, 1, 3, 7]从小到大排序(前-后)
console.log(arr1.sort(function(a,b){return b-a}));//[7, 3, 1, 0, -2, -11, -99]从大到小排序(后-前)
//对非数字进行排序
var arr2=['赵','钱','孙','李'];
console.log(arr2.sort(function(a,b){return a.charCodeAt()-b.charCodeAt();}));//['孙', '李', '赵', '钱']从小到大排序