function sortNum(a,b) { ??? return b-a;//這是降序(a-b//這是升序) ?? } var myarr = new Array("80","16","50","6","100","1"); document.write(myarr.sort(sortNum));
注意:?該函數(shù)function(a,b)要比較兩個(gè)值,然后返回一個(gè)用于說(shuō)明這兩個(gè)值的相對(duì)順序的數(shù)字。比較函數(shù)應(yīng)該具有兩個(gè)參數(shù) a 和 b,其返回值如下:?
? 若返回值<=-1,則表示 A 在排序后的序列中出現(xiàn)在 B 之前。 ? 若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。 ? 若返回值>=1,則表示 A 在排序后的序列中出現(xiàn)在 B 之后。
2016-06-11
var arr = ['sp', 'bd', 'bc', 'sq', 'nb', 'na'];
document.write(arr + "<br />");
arr.sort(function(a, b){return (a + '').localeCompare(b + '')});
document.write(arr);
2016-06-11
sort需要調(diào)用函數(shù)才能排序,sort(方法函數(shù))如果"()"括號(hào)里面沒(méi)有方法函數(shù),則數(shù)組元素默認(rèn)unicode這個(gè)碼的順序排列。(暫時(shí)理解它無(wú)序排列吧)
如果sort“()”里面加上方法函數(shù)則按這個(gè)方法函數(shù)排序。方法函數(shù)需要自己設(shè)定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));
注意:?該函數(shù)function(a,b)要比較兩個(gè)值,然后返回一個(gè)用于說(shuō)明這兩個(gè)值的相對(duì)順序的數(shù)字。比較函數(shù)應(yīng)該具有兩個(gè)參數(shù) a 和 b,其返回值如下:?
? 若返回值<=-1,則表示 A 在排序后的序列中出現(xiàn)在 B 之前。
? 若返回值>-1 && <1,則表示 A 和 B 具有相同的排序順序。
? 若返回值>=1,則表示 A 在排序后的序列中出現(xiàn)在 B 之后。
(可能這個(gè)地方不好理解,把A,B代入就可以了,前面的元素是A,A后面是B)
reverse則是顛倒數(shù)組元素順序.本來(lái)是159357,顛倒后是753951。
2016-06-10
可以自定義sort()方法,function ?sort(a,b){return b-a;}
舉個(gè)例子a=2,b=3返回的如果大于等于1,a和b位置就會(huì)互換,就是a,b位置互換,是不是大的在前面,小的就在后面了,也就是降序了。
如果用封裝好的方法reverse()就更省事了呢?