javascript 數(shù)組排序函數(shù)sort和reverse使用介紹
更新時(shí)間:2013年11月21日 11:48:23 作者:
reverse方法將一個(gè)Array對象中的元素位置進(jìn)行反轉(zhuǎn),sort方法返回一個(gè)元素已經(jīng)進(jìn)行了排序的 Array 對象,下面為大家介紹下
首先我們先說一下reverse方法。
reverse 方法將一個(gè) Array 對象中的元素位置進(jìn)行反轉(zhuǎn)。在執(zhí)行過程中,這個(gè)方法并不會創(chuàng)建一個(gè)新的 Array 對象。
例如:
var array1 = ['a','cc','bb','hello',false,0,3];
var array2 = [3,5,2,1,7,9,10,13];
array1.reverse();
array2.reverse();
alert(array1);
alert(array2);
如果數(shù)組中只包含數(shù)字,那么數(shù)字將降序排列,如果數(shù)組中還包含其他類型,就將數(shù)組反轉(zhuǎn)并返回?cái)?shù)組。
sort 方法
返回一個(gè)元素已經(jīng)進(jìn)行了排序的 Array 對象。
arrayobj.sort(sortfunction)
參數(shù)
arrayObj
必選項(xiàng)。任意 Array 對象。
sortFunction
可選項(xiàng)。是用來確定元素順序的函數(shù)的名稱。如果這個(gè)參數(shù)被省略,那么元素將按照 ASCII 字符順序進(jìn)行升序排列。
sort 方法將 Array 對象進(jìn)行適當(dāng)?shù)呐判?;在?zhí)行過程中并不會創(chuàng)建新的 Array 對象。
如果為 sortfunction 參數(shù)提供了一個(gè)函數(shù),那么該函數(shù)必須返回下列值之一:
負(fù)值,如果所傳遞的第一個(gè)參數(shù)比第二個(gè)參數(shù)小。
零,如果兩個(gè)參數(shù)相等。
正值,如果第一個(gè)參數(shù)比第二個(gè)參數(shù)大。
例1:()
var a, l; // 聲明變量。
a = ["X" ,"y" ,"d", "Z", "v","m","r",false,0];
l = a.sort(); // 排序數(shù)組。
alert(l); // 返回排序的數(shù)組。
這個(gè)例子里沒有傳入比較函數(shù)那么元素將按照 ASCII 字符順序進(jìn)行升序排列,另外這個(gè)數(shù)組中包含了多種類型的數(shù)據(jù),所以即使傳入了比較函數(shù),它依然按照ASCII 字符順序進(jìn)行升序排列。
例如
var a, l; // 聲明變量。
a = ["X" ,"y" ,"d", "Z", "v","m","r",false,0];
l = a.sort(); // 排序數(shù)組。
alert(l); // 返回排序的數(shù)組。
ll = a.sort(compack);
alert(ll);//返回與上面一樣
function compack(a,b){
return a-b;
}
當(dāng)我們需要對數(shù)字排序的時(shí)候可以使用sort方法,只要給它傳入一個(gè)比較函數(shù)就可以輕松的升序和降序。
升序:
var a, l; // 聲明變量。
a = [6,8,9,5.6,12,17,90];
l = a.sort(compack); // 排序數(shù)組。
alert(l); // 返回排序的數(shù)組。
function compack(a,b){
return a-b;
}
降序:
var a, l; // 聲明變量。
a = [6,8,9,5.6,12,17,90];
l = a.sort(compack); // 排序數(shù)組。
alert(l); // 返回排序的數(shù)組。
function compack(a,b){
return b-a;
}
在比較函數(shù)里升序返回a-b,降序返回b-a。
reverse 方法將一個(gè) Array 對象中的元素位置進(jìn)行反轉(zhuǎn)。在執(zhí)行過程中,這個(gè)方法并不會創(chuàng)建一個(gè)新的 Array 對象。
例如:
復(fù)制代碼 代碼如下:
var array1 = ['a','cc','bb','hello',false,0,3];
var array2 = [3,5,2,1,7,9,10,13];
array1.reverse();
array2.reverse();
alert(array1);
alert(array2);
如果數(shù)組中只包含數(shù)字,那么數(shù)字將降序排列,如果數(shù)組中還包含其他類型,就將數(shù)組反轉(zhuǎn)并返回?cái)?shù)組。
sort 方法
返回一個(gè)元素已經(jīng)進(jìn)行了排序的 Array 對象。
復(fù)制代碼 代碼如下:
arrayobj.sort(sortfunction)
參數(shù)
arrayObj
必選項(xiàng)。任意 Array 對象。
sortFunction
可選項(xiàng)。是用來確定元素順序的函數(shù)的名稱。如果這個(gè)參數(shù)被省略,那么元素將按照 ASCII 字符順序進(jìn)行升序排列。
sort 方法將 Array 對象進(jìn)行適當(dāng)?shù)呐判?;在?zhí)行過程中并不會創(chuàng)建新的 Array 對象。
如果為 sortfunction 參數(shù)提供了一個(gè)函數(shù),那么該函數(shù)必須返回下列值之一:
負(fù)值,如果所傳遞的第一個(gè)參數(shù)比第二個(gè)參數(shù)小。
零,如果兩個(gè)參數(shù)相等。
正值,如果第一個(gè)參數(shù)比第二個(gè)參數(shù)大。
例1:()
復(fù)制代碼 代碼如下:
var a, l; // 聲明變量。
a = ["X" ,"y" ,"d", "Z", "v","m","r",false,0];
l = a.sort(); // 排序數(shù)組。
alert(l); // 返回排序的數(shù)組。
這個(gè)例子里沒有傳入比較函數(shù)那么元素將按照 ASCII 字符順序進(jìn)行升序排列,另外這個(gè)數(shù)組中包含了多種類型的數(shù)據(jù),所以即使傳入了比較函數(shù),它依然按照ASCII 字符順序進(jìn)行升序排列。
例如
復(fù)制代碼 代碼如下:
var a, l; // 聲明變量。
a = ["X" ,"y" ,"d", "Z", "v","m","r",false,0];
l = a.sort(); // 排序數(shù)組。
alert(l); // 返回排序的數(shù)組。
ll = a.sort(compack);
alert(ll);//返回與上面一樣
function compack(a,b){
return a-b;
}
當(dāng)我們需要對數(shù)字排序的時(shí)候可以使用sort方法,只要給它傳入一個(gè)比較函數(shù)就可以輕松的升序和降序。
升序:
復(fù)制代碼 代碼如下:
var a, l; // 聲明變量。
a = [6,8,9,5.6,12,17,90];
l = a.sort(compack); // 排序數(shù)組。
alert(l); // 返回排序的數(shù)組。
function compack(a,b){
return a-b;
}
降序:
復(fù)制代碼 代碼如下:
var a, l; // 聲明變量。
a = [6,8,9,5.6,12,17,90];
l = a.sort(compack); // 排序數(shù)組。
alert(l); // 返回排序的數(shù)組。
function compack(a,b){
return b-a;
}
在比較函數(shù)里升序返回a-b,降序返回b-a。
您可能感興趣的文章:
- Javascript數(shù)組的排序 sort()方法和reverse()方法
- js中reverse函數(shù)的用法詳解
- javascript 不用reverse實(shí)現(xiàn)字符串反轉(zhuǎn)的代碼
- 在JavaScript中處理數(shù)組之reverse()方法的使用
- Javascript中數(shù)組sort和reverse用法分析
- JavaScript數(shù)組排序reverse()和sort()方法詳解
- JS數(shù)組方法shift()、unshift()用法實(shí)例分析
- JS數(shù)組方法push()、pop()用法實(shí)例分析
- JS數(shù)組方法join()用法實(shí)例分析
- 最實(shí)用的JS數(shù)組函數(shù)整理
- JavaScript數(shù)組操作函數(shù)匯總
- JS數(shù)組方法reverse()用法實(shí)例分析
相關(guān)文章
JavaScript實(shí)現(xiàn)返回頂部按鈕案例
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)返回頂部按鈕案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11用js實(shí)現(xiàn)下載遠(yuǎn)程文件并保存在本地的腳本
//將常用的vbs下載者改成js版了。本來想用jsc.exe編譯,可是不成功。jsc.exe不認(rèn)WScript2008-05-05JavaScript 判斷數(shù)據(jù)類型的4種方法
這篇文章主要介紹了JavaScript 判斷數(shù)據(jù)類型的4種方法,幫助大家更好的理解和學(xué)習(xí)JavaScript,感興趣的朋友可以了解下2020-09-09Javascript 多物體運(yùn)動的實(shí)現(xiàn)
這篇文章主要介紹了Javascript 多物體運(yùn)動的實(shí)現(xiàn),需要的朋友可以參考下2014-12-12H5+C3+JS實(shí)現(xiàn)雙人對戰(zhàn)五子棋游戲(UI篇)
這篇文章主要為大家詳細(xì)介紹了H5+C3+JS實(shí)現(xiàn)雙人對戰(zhàn)五子棋游戲,實(shí)現(xiàn)雙人對戰(zhàn)模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09原生JS實(shí)現(xiàn)-星級評分系統(tǒng)的簡單實(shí)例
下面小編就為大家?guī)硪黄鶭S實(shí)現(xiàn)-星級評分系統(tǒng)的簡單實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08純js實(shí)現(xiàn)仿QQ郵箱彈出確認(rèn)框
仿QQ郵箱的彈出層,彈出確認(rèn)框,主要是用火狐的firebug把html和css扣了下來,沒有做封裝,就定義了一個(gè)拖動事件. 大家可以封裝自己的彈出窗,嘿嘿!2015-04-04