JavaScript中数组排序的方法有两个reverse()和sort()。
reverse()方法会反转数组项的顺序:
var arr = [1,2,3,4,5]; arr.reverse(); alert(arr); //5,4,3,2,1
sort()方法会按照字符串升序排列数组项,sort()方法会调用每个数组项的tostring()方法,即使数组中的每一项都是数值,sort()方法比较的也是字符串:
var arr = [1,2,11,15,5]; arr.sort(); alert(arr); // 1,11,15,2,5
这种方式在很多情况下并不是最好的方案,因此sort()方法可以接收一个比较函数作为参数。比较函数需要两个参数,如果第一个参数应该位于第二个参数之前则需要返回一个负数,如果两个参数相等则返回0,如果第一个参数应该位于第二个参数之后,则返回一个正数:
var arr = [1,2,11,15,5]; arr.sort(function(val1,val2){ return val1-val2; }); alert(arr); // 1,2,5,11,15
由于比较函数通过返回一个小于零,等于零或大于零的志来影响排序结果,因此减法操作可以很好的处理这些情况。
总结
以上所述是小编给大家介绍的JavaScript数组排序reverse()和sort()方法详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!