javascript中的sort()方法可以把compare函数作为参数来使用,为什么compare可以作为参数?原理是什么?
Javascript?中?Array的?sort()办法其实是把要排序的内容转化为string(挪用?toString()),?然后根据字符串的第一位?ascii?码先后挨次停止比力,不是数字。
我们看看官方是怎么说的:
arrayobj.sort(sortfunction)
参数
arrayObj
必选项。肆意?Array?对象。
sortFunction
可选项。是用来确定元素挨次的函数的名称。若是那个参数被省略,那么元素将根据?ASCII?字符挨次停止升序摆列。
因为compare函数能够实现如下功用
1 若是所传递的第一个参数比第二个参数小 返回负值
2 若是两个参数相等 返回零
3 若是第一个参数比第二个参数大,返回正值
那就是原理
0