_夕晨踏雪
2016-06-12 21:43
function sortNum(a,b) {
return a-b;
}
这个怎么就能实现升序排序了?怎么这个样子
注意: 该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。
若返回值>-1 && <1,则表示 A 和 B 具有相同的排序顺序。
若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
原文中说的:(以上),a-b<=-1(因为这里是a,b整数)那么a就是排在b之前。。所以就是升序小的排在前面。。。sort 是根据反回值来操作哪个做前面哪个做后面的。。而return a-b 就是给sort的返回值,然后sort再进行判断,最后就是升序 如果下b-a 那就是降序
方法错误这个不能排序 可以用function Gba(a,b){ return a?b?a:b} 这样一句话来排序
这个只是一个比较两个数大小的函数,并不是用来排序的。 sort()才是排序函数,array.sort()这个函数自己会进行一些排序的算法,具体我不知道他用的是什么,大概也就是哪几种,快排,冒泡,归并之类的,这个不用管。但是排序需要一个标准,那就是如何比较两个数的大小,这个你可以告诉这个sort函数,或者叫做指定。所以你问的这个函数,相当于告诉sort函数,如果a-b>0,那么a排在b的后面,a-b<0排在前面,a=b两个相等,两个一样。另外我觉得课程里说的有点困惑,按照Javascript的文档描述,传递给sort()的函数,返回值应该是>0,<0 和=0,并不是和1,-1相关。
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题