题解 | #排序#
排序
http://www.nowcoder.com/practice/2baf799ea0594abd974d37139de27896
function MySort( arr ) { return arr.sort(function(a,b){ //升序 return a-b; }) } module.exports = { MySort : MySort };
不能单纯使用arr.sort:
1、sort()方法有一个可选参数,是用来确定元素顺序的函数。如果这个参数被省略,那么数组中的元素将按照ASCII字符顺序进行排序。
2、其实,sort方***调用每个数组项的toString()方法,得到字符串,然后再对得到的字符串进行排序。虽然数值15比3大,但在进行字符串比较时”15”则排在”3”前面。显然,这种结果不是我们想要的,这时,sort()方法的参数就起到了作用,我们把这个参数叫做比较函数。
//升序 arr.sort(function(a,b){ retun a-b; }); //降序 arr.sort(function(a,b){ retun b-a; });