sort的排序问题
sort 排序默认是升序的,并且 是以字符串的形式升序,如果要以字符串的形式降序呢?怎么做呢?难道只能使用reverse吗?
sort 排序默认是升序的,并且 是以字符串的形式升序,如果要以字符串的形式降序呢?怎么做呢?难道只能使用reverse吗?
2016-06-10
sort需要调用函数才能排序,sort(方法函数)如果"()"括号里面没有方法函数,则数组元素默认unicode这个码的顺序排列。(暂时理解它无序排列吧)
如果sort“()”里面加上方法函数则按这个方法函数排序。方法函数需要自己设定function(a,b)
function sortNum(a,b) {
return b-a;//这是降序(a-b//这是升序)
}
var myarr = new Array("80","16","50","6","100","1");
document.write(myarr.sort(sortNum));
注意: 该函数function(a,b)要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。
若返回值>-1 && <1,则表示 A 和 B 具有相同的排序顺序。
若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
(可能这个地方不好理解,把A,B代入就可以了,前面的元素是A,A后面是B)
reverse则是颠倒数组元素顺序.本来是159357,颠倒后是753951。
举报