sort方法: 如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。 如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下: 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。 若 a 等于 b,则返回 0。 若 a 大于 b,则返回一个大于 0 的值。
1.一般的如果是对于sort的用法就是(没有比较函数的话)
var arr = [1,10,3,55,66]
arr.sort() 得到的结果按照字符编码的顺序进行排序
2.传参数(比较函数)
var arr =[11,22,33,34,5]
arr.sort(function(a,b){
return a-b
})
或者
var arr =[11,22,33,34,5]
arr.sort(function(a,b){
return b-a
})
3.对于数组对象排序
var arr = [
{ name:jack; age:12 },
{ name:jack; age:34 },
{ name:jack; age:6 }
]
试了一下, 其实是一样的,只要传入比较函数一样可以排序
arr.sort(function(a,b){
return a.age - b.age
})
总结: 我是小白,说的有问题,望各路大神指出