sort() 方法用于对数组的元素进行排序。
问题:如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序
比如:[‘1’,’41’,’4’,’10’]
排序的结果为:[‘1’,’10’,’4’,’41’]
他是按照字母顺序进行排序,所以会出现这个问题
在 W3C上有这么一句话:
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
1 | var arr = ['1','10','4','41']; |
另外还有一种数组对象的进行按字段排序:
1 | var arr =[ |
如果对您有所帮助或者对博主有更多的话说,欢迎你去我的GitHub留下一个您的start和issues