JavaScript Array.sort() 方法详解与自定义排序
作者:小括号时间:2026-10-27 08:06:56浏览:642
本文深入解析JavaScript中Array.sort()方法的默认行为及自定义排序机制。通过示例展示如何传入比较函数,利用返回值控制元素交换,实现升序、降序及奇偶数分离等复杂排序逻辑,帮助开发者掌握灵活的数据排序技巧。
sort() 方法默认行为
在JavaScript中,Array.sort()函数用于对数组元素进行排序操作。默认情况下,该函数执行升序排列。具体实现代码如下所示:
var arrA = [6,2,4,3,5,1];
arrA.sort();
document.writeln(arrA);
//结果是:1,2,3,4,5,6
自定义比较函数应用
sort()函数支持接收一个比较函数作为参数,该函数需定义两个参数,分别代表排序过程中参与比较的两个数组元素。在每次比较两个元素时,系统会调用此函数,并将这两个元素作为参数传入。若函数返回值为1,则交换这两个元素的位置;否则保持原位不变。具体示例如下:
var arrA = [6,2,4,3,5,1];
/**//*arrA.sort();
document.writeln(arrA);
*/
function desc(x,y)
...{
if (x > y)
return -1;
if (x < y)
return 1;
}
function asc(x,y)
...{
if (x > y)
return 1;
if (x < y)
return -1;
}
arrA.sort(desc); // sort by desc
document.writeln(arrA);
document.writeln("<br>");
arrA.sort(asc); //sort by asc
document.writeln(arrA);
//输出结果:
6,5,4,3,2,1
1,2,3,4,5,6
匿名函数与奇偶排序示例
此外,可以直接在调用sort()方法时嵌入匿名函数。以下示例演示了如何将奇数排列在偶数之前,具体代码实现如下:
var arrA = [6,2,4,3,5,1];
arrA.sort( function(x, y) ...{
if (x % 2 ==0)
return 11;
if (x % 2 !=0)
return -1;
}
);
document.writeln(arrA);
//输出:1,5,3,4,6,2
关于JavaScript数组Array.sort()方法的介绍至此结束,希望上述内容对需要相关知识的读者有所帮助。
作者最新文章
JS语法错误会阻止加载吗?区分SyntaxError与资源加载失败
2026-11-05 16:08:46
JavaScript常见SyntaxError语法错误排查与修复方法
2026-11-05 13:58:44
JS中slice、substring和substr截取字符串的区别
2026-11-05 13:43:47
JS 转 TS 手动迁移最佳实践:从配置 tsconfig 到消除 any 类型
2026-11-05 11:53:32
为什么JS数组push后得到的是数字而不是数组?
2026-11-05 09:59:18
