JavaScript sort()方法比较器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript sort()方法比较器相关的知识,希望对你有一定的参考价值。

当我们想把一个由数字组成的数组进行简单的排序时,可能会想到sort()方法:

var arr = [2 , 3, -1, -107, -14, 1];

console.log(arr.sort())

结果:

[-1, -107, -14, 1, 2, 3]

这样显然是有问题的,因为调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,也就是按照字符编码的顺序进行排序。

所以我们需要一个比较器:

console.log(arr.sort(function(a,b){
        if(a<b){
            return -1;
        }
        if(a>b){
            return 1;
        }
        return 0;
    }))

结果:

[-107, -14, -1, 1, 2, 3]

这样子看起来就好多了~

所以我们在使用sort()方法对数组进行排序时要注意它的规则。

以上是关于JavaScript sort()方法比较器的主要内容,如果未能解决你的问题,请参考以下文章

使用Javascript数组sort()方法和比较函数的字母搜索

JavaScript数组sort()方法小结

深入了解javascript的sort方法

javascript中的sort()方法

JavaScript核心语法学习部分

JavaScript--数组--sort比较器