谁给分析下JavaScript的按照数值大小排序的原理,详细点,我只会sort方法,不明白按照数值
谁给分析下JavaScript的按照数值大小排序的原理,详细点,我只会sort方法,不明白按照数值大小排序的代码原理...
谁给分析下JavaScript的按照数值大小排序的原理,详细点,我只会sort方法,不明白按照数值大小排序的代码原理
展开
2个回答
展开全部
据说内部用的是快速排序,你传给sort的函数被用作比较函数。
追问
能具体说下吗
追答
你要知道所有的排序都需要一个比较函数,也就是说传入两个元素,要能返回它们谁大谁小或相等。
比如
var arr = [2,6,4,1,5,8,3];
arr.sort(function(a,b){
return a - b;
});//将arr以升序排列
JS的sort规定,如果返回负数说明第一个元素比第二个元素小,如果返回0说明相等,如果返回正数说明第一个元素比第二个元素大。因此,将两个数字相减,恰好满足这个要求。所以这个函数是排序中最常见的。
当然,它用法也有变体:
arr.sort(function(a,b){
return a.age - b.age;
});
这是以每个元素的age属性排序的,用于解决按年龄排序的问题。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询