javascript中的sort()方法可以把compare函数作为参数来使用,为什么compare可以作为参数?原理是什么?

2年前 (2022-10-28)阅读6回复1
丸子
丸子
  • 管理员
  • 注册排名9
  • 经验值277290
  • 级别管理员
  • 主题55458
  • 回复0
楼主

Javascript?中?Array的?sort()办法其实是把要排序的内容转化为string(挪用?toString()),?然后根据字符串的第一位?ascii?码先后挨次停止比力,不是数字。

我们看看官方是怎么说的:

arrayobj.sort(sortfunction)

参数

arrayObj

必选项。肆意?Array?对象。

sortFunction

可选项。是用来确定元素挨次的函数的名称。若是那个参数被省略,那么元素将根据?ASCII?字符挨次停止升序摆列。

因为compare函数能够实现如下功用

1 若是所传递的第一个参数比第二个参数小 返回负值

2 若是两个参数相等 返回零

3 若是第一个参数比第二个参数大,返回正值

那就是原理

0
回帖

javascript中的sort()方法可以把compare函数作为参数来使用,为什么compare可以作为参数?原理是什么? 相关回复(1)

晨曦微光
晨曦微光
沙发
sort() 函数的灵活特性:用 compare 功能强大可扩展。
活跃5天前 (05-30 23:37)回复00
取消
载入表情清单……
载入颜色清单……
插入网络图片

取消确定

图片上传中
编辑器信息
提示信息