JavaScript数组的sort()方法

一、前言

    sort()方法在对数组的排序非常的方便,而且性能好,它可以对字符串和数字进行排序。今天我结合了W3C和一些博客总结了一篇关于sort()方法的使用和原理,相信这会解决阅读者对sort()方法的一些疑惑。

二、使用

0、sort()方法对数组进行排序,并返回原数组。

1、默认情况下(不传比较函数时),按照ASCII字符代码进行排序,也就是说,数字也是按照它们的字符串形式的升序排序的。

1) 排序字符串

const fruits = ["Banana", "Orange", "Apple", "Mango"];

fruits.sort();  //Apple,Banana,Mango,Orange

2) 排序数字

var arr = [12, 1, 2, 21, 3];
arr.sort();  //得到的结果为 1,12,2,21,3

在默认情况下只能对小于10的数字进行升序排序。

2、传入比较函数对数值进行排序

1)什么是比较函数?

该函数应返回负值、零值或正值,具体取决于参数,例如: function(a, b){return a-b}

sort() 方法比较两个值时,将值发送给比较函数,根据返回的(负、零、正)值对值进行排序,a,b是任意两个相邻的比较值,仅当比较函数返回正值时,交换两个比较值的顺序(排序原理)。

2) 升序,注意比较函数的表达式

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b}); //[1,5,10,25,40,100]

3) 降序,注意比较函数的表达式

var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return b-a}); //[100,40,25,10,5,1]

三、总结

这下明白了吧!!!

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值