JS中sort()方法的理解

概要

在js中的sort()方法,如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更准确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。而且。arry.sort()默认是升序排序。

其他标准排序

js中sort()方法要使用其他标准进行排序的话,则需要提供比较函数。该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:

  • 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
  • 若 a 等于 b,则返回 0。
  • 若 a 大于 b,则返回一个大于 0 的值。

简单点:比较函数两个参数a和b,返回a-b升序,返回b-a降序

var arr=[4,8,1,9,6,3]

arr.sort(function(a,b){
     
     return a-b;//升序排序
});

//输出结果为1,3,4,6,8,9

值得注意的是:如果比较的是字符串,则按照首字母的字符编码进行排序。

你可能感兴趣的:(JavaScript)