JS基础学习之深入数组的sort方法
程序员文章站
2023-02-01 11:37:08
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); });
执行结果为:
正常来说,该方法的排序需要自己传入相应的回调函数。例如实现数字数组的排序函数为:
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')});
返回结果:
同理,可以实现多维数组的排序,只需将排序参数指定即可。