请问为什么sort()传了一个sortNumber()方法就可以对字符串的数组比较了呢?
Array.sort()方法将数组排序,如果不带参数(一个比较函数),则按字母序排序 关于这个比较函数:
假设第一个参数应该在前,比较函数应该返回一个负数,反之,返回一个正数,如果返回0,就以为着顺序无关紧要。
上面是javascript权威指南上的原文,如果不加这个排序函数,那就按字母序排序了。
我个人的理解,其实这个排序函数有点冒泡排序的意思。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
这里需要介绍两个概念。
第一个是
高阶函数
:高阶函数是可以把函数作为参数,或者将函数作为返回值的函数。比如:第二个是
偏函数
:偏函数是通过制定部分参数来产生一个新的定制函数的函数。比如:显然,这个sort是偏函数