JavaScript 数组排序 sort() 方法

JavaScript的数组sort()方法默认按字符串顺序排序,可能导致数值排序错误。为正确排序,需提供一个比较函数作为参数。比较函数接收两个数组项,返回1时交换它们的顺序。通过自定义比较逻辑,可以满足不同排序需求。
摘要由CSDN通过智能技术生成

语法:数组名.sort(sortby)

参数sortby 可选,用来规定排序的顺序,但必须是函数。

默认情况下 sort() 按照字符串顺序对数组进行排序。

例1

var arr=['Apple', 'Banana','Aa' ,'bAnana','Mango', 'Orange'];
arr.sort();

运行结果

['Aa', 'Apple', 'Banana', 'Mango', 'Orange', 'bAnana']

例2

var arr=[8,9,33445,654,-10,-1,-25,-2];
arr.sort();

运行结果

[-1, -10, -2, -25, 33445, 654, 8, 9]

此时“8”大于“654” 是因为“8”大于“6”

所以如果直接使用默认的方法对数值排序时会出现错误。

为了避免对数值排序时出现错误,需要一个方法作参数进行修正。

这个方法有两个参数。分别代表每次排序比较时的两个数组项。sort()排序时每次比较两个数组项都会执行这个参数,并把两个比较的数组项作为参数传递给这个方法。

当该方法返回值为1的时候就交换两个数组项的顺序,否则就不交换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值