我在接触数组排序方法的时候看到这样一组代码:
var arr = [10, 4, 50, 32];
console.log(arr.sort((a, b) => a - b));
然后他就按从小到大的顺序排好了;就很神奇。当时刚学没想那么深入,没弄懂return a-b到底是个什么意思;
今天心血来潮,就各种百度,现在总算有个大致的理解了。
我的理解是他是个冒泡排序,,内置了一个匿名的比较函数compare(a,b),遍历数组,a,b为连续的两个数、,a-b,如果>0则交换a,b的位置。
<=0则位置不变。大概是按照这个逻辑来进行排序的。
有理解不当地方,敬请大佬指出。