前言:
由于自己学习不深入,之前以为sort能够直接对数组进行排序,最起码纯数值的应该是可以的,但是后来在实操时发现,结果并不正确,例如:
let arr = [4,1,5,3,6,8,1,99,23]; // 我的想象中是酱紫的 // [ 1, 1, 3, 4, 5, 6, 8, 23, 99 ] // 但是实际上是酱紫的 console.log(arr.sort()); // [ 1, 1, 23, 3, 4, 5, 6, 8, 99 ]
这就是我自己的一个误区,所以在这总结一下,希望大家不要入坑。
sort方法是用来对数组的元素进行排序的,写法是:
arrayObject.sort(sortby)
其中sortby是选写的,用来规定排序顺序(必须是函数),而且该方法是在原数组上进行排序,直接修改了原来的数组。
1、无sortby:按照字符编码的顺序进行排序
2、有sortby:该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
- 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
- 若 a 等于 b,则返回 0。
- 若 a 大于 b,则