JavaScript数组排序详解:默认行为与自定义比较函数

作者:函数茶馆

时间:2026-10-30

浏览:375

本文详解JavaScript中数组排序的实现方式。默认情况下,sort()方法按字符串Unicode码点排序,导致数字排序异常。通过传入比较函数,可实现数值大小的升序或降序排列,并结合reverse()方法实现数组顺序反转,满足多样化数据处理需求。

文章目录

JavaScript数组排序基础与自定义实现

具体代码实现如下所示:


var arr = [5,32,28,66,2,15,3];
  arr.sort(function(a1,a2){ 
   return a1-a2; //a2-a1 输入倒序
  });
  console.log(arr);
  console.log(arr.reverse()); //reverse颠倒数组中元素的顺序

 var arr2 = ['hezihao','chensan','xiaomin','lishi']
  arr2.sort();
  console.log(arr2);

 var arr3 = ['6','8','0','7']
  arr3.sort();
  console.log(arr3);

上述代码执行后的输出结果如下:

JavaScript数组排序基础与自定义实现

当数组调用sort()方法且未传入任何参数时,元素将默认按照字母顺序(基于Unicode码点)进行排序。

若需按照数值大小对数字数组进行排序,必须传入一个自定义的排序函数作为参数。

在比较函数中,若返回值a1-a2为负数,则元素按升序排列;若返回值为正数,则按降序排列。此外,还可以使用reverse()方法来直接颠倒数组中元素的现有顺序。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章