JavaScript数组排序详解:默认行为与自定义比较函数
作者:函数茶馆时间:2026-10-30 11:06:31浏览:376
本文详解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);
上述代码执行后的输出结果如下:

当数组调用sort()方法且未传入任何参数时,元素将默认按照字母顺序(基于Unicode码点)进行排序。
若需按照数值大小对数字数组进行排序,必须传入一个自定义的排序函数作为参数。
在比较函数中,若返回值a1-a2为负数,则元素按升序排列;若返回值为正数,则按降序排列。此外,还可以使用reverse()方法来直接颠倒数组中元素的现有顺序。
作者最新文章
JS大数值转字符串出现科学计数法怎么办
2026-11-05 17:09:21
JS split切割后出现空字符串怎么过滤
2026-11-05 16:00:30
在 React 或 Vue 项目中封装使用 JS 节流防抖
2026-11-05 15:27:29
JavaScript中怎么将带小数的字符串转为整数?
2026-11-05 14:32:38
怎么用JavaScript策略模式重构电商促销计算逻辑?
2026-11-05 14:01:09
