JavaScript--sort()

Array的sort()方法默认把所有元素先转换为String再按ASCII码从小到大排序。
 
幸运的是,sort()方法也是一个高阶函数,它还可以接收一个比较函数来实现自定义的排序。
要按数字大小排序,我们可以这么写:
'use strict';
var arr = [10, 20, 1, 2];
arr.sort(function (x, y) {
    if (x < y) {
        return -1;
    }
    if (x > y) {
        return 1;
    }
    return 0;
});
console.log(arr); // [1, 2, 10, 20]
 
个人理解:
1 表示交换元素
0 -1不交换,看你想正序还是倒序,自己决定什么时候return 1
 

posted @ 2020-12-06 15:12  盲仔不瞎忙  阅读(63)  评论(0编辑  收藏  举报