关于排序方法函数的问题?
为什么在左侧的讲解中说:“若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。
若返回值>-1 && <1,则表示 A 和 B 具有相同的排序顺序。若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。”
比较迷惑他说的这个是这个只针对整数么?
对于小数是否应以0分界?
为什么在左侧的讲解中说:“若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。
若返回值>-1 && <1,则表示 A 和 B 具有相同的排序顺序。若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。”
比较迷惑他说的这个是这个只针对整数么?
对于小数是否应以0分界?
2016-01-01
我认为这种表述方式不对,应该改为:
比较函数的要求:该函数要比较两个值,然后返回一个用于说明(我也不知道该怎么说了)。比较函数应该具有两个参数 a 和 b,其返回值如下:
若返回值<0,则表示根据排序要求A 在排序后的序列中出现在 B 之前。
若返回值=0,则表示根据排序要求 A 和 B 具有相同的排序顺序。
若返回值>0,则表示根据排序要求A 在排序后的序列中出现在 B 之后。
(可参照你的问小数怎么问题)
举个栗子:
//定义一个数组,数组里的每个元素都是字符串
var myarr1=['love','I','java','javascript','php'];
//如果我要根据数组里面的元素的字符数量正序排列,要这么定义函数
function sortStr(a,b){
return a.length-b.length;
//倒序则换成b.length-a.length;
}
//运行测试一下
document.write(myarr1+"<br>");//原始数组
document.write(myarr1.sort(sortStr)+"<br><br>");//排序后举报