欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS基础学习之深入数组的sort方法

程序员文章站 2022-05-27 22:29:48
1. sort方法使用说明 该方法接收一个函数作为参数,该函数在sort方法内部执行n-1次。该函数的两个参数分别对应数组每次比较的两项。 var arr = [2,1,4...
1. sort方法使用说明

该方法接收一个函数作为参数,该函数在sort方法内部执行n-1次。该函数的两个参数分别对应数组每次比较的两项。

var arr = [2,1,4,3,6,7,5];
arr.sort(function(a,b){
    console.log(a,b);
});

执行结果为:

JS基础学习之深入数组的sort方法

正常来说,该方法的排序需要自己传入相应的回调函数。例如实现数字数组的排序函数为:

var arr = [2,1,14,3,26,7,15];
arr.sort(function(a,b){
    return a-b;  // 返回负值代表a、b不换位置,正值代表a、b换位置
});              // 返回结果[1,2,3,7,14,15,26]
2. 实现数组按字典顺序排序

这里需要用到一个字符串对象的localcompare方法,该方法可以指定语言参数,代码如下:

var arr = [{name: "张三"}, {name: "李四"}, {name: "王五"}];
arr.sort(function(a,b){return a.name.localecompare(b.name,'zh')});

返回结果:

JS基础学习之深入数组的sort方法

同理,可以实现多维数组的排序,只需将排序参数指定即可。