javascript 數(shù)組排序函數(shù)sort和reverse使用介紹
更新時(shí)間:2013年11月21日 11:48:23 作者:
reverse方法將一個(gè)Array對(duì)象中的元素位置進(jìn)行反轉(zhuǎn),sort方法返回一個(gè)元素已經(jīng)進(jìn)行了排序的 Array 對(duì)象,下面為大家介紹下
首先我們先說一下reverse方法。
reverse 方法將一個(gè) Array 對(duì)象中的元素位置進(jìn)行反轉(zhuǎn)。在執(zhí)行過程中,這個(gè)方法并不會(huì)創(chuàng)建一個(gè)新的 Array 對(duì)象。
例如:
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 對(duì)象。
arrayobj.sort(sortfunction)
參數(shù)
arrayObj
必選項(xiàng)。任意 Array 對(duì)象。
sortFunction
可選項(xiàng)。是用來確定元素順序的函數(shù)的名稱。如果這個(gè)參數(shù)被省略,那么元素將按照 ASCII 字符順序進(jìn)行升序排列。
sort 方法將 Array 對(duì)象進(jìn)行適當(dāng)?shù)呐判?;在?zhí)行過程中并不會(huì)創(chuàng)建新的 Array 對(duì)象。
如果為 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)我們需要對(duì)數(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 對(duì)象中的元素位置進(jìn)行反轉(zhuǎn)。在執(zhí)行過程中,這個(gè)方法并不會(huì)創(chuàng)建一個(gè)新的 Array 對(duì)象。
例如:
復(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 對(duì)象。
復(fù)制代碼 代碼如下:
arrayobj.sort(sortfunction)
參數(shù)
arrayObj
必選項(xiàng)。任意 Array 對(duì)象。
sortFunction
可選項(xiàng)。是用來確定元素順序的函數(shù)的名稱。如果這個(gè)參數(shù)被省略,那么元素將按照 ASCII 字符順序進(jìn)行升序排列。
sort 方法將 Array 對(duì)象進(jìn)行適當(dāng)?shù)呐判?;在?zhí)行過程中并不會(huì)創(chuàng)建新的 Array 對(duì)象。
如果為 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)我們需要對(duì)數(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)方法示例
這篇文章主要給大家介紹了關(guān)于JavaScript惰性求值的一種實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01
javascript另類方法實(shí)現(xiàn)htmlencode()與htmldecode()函數(shù)實(shí)例分析
這篇文章主要介紹了javascript另類方法實(shí)現(xiàn)htmlencode()與htmldecode()函數(shù),結(jié)合實(shí)例形式分析了javascript字符編碼與解碼操作的相關(guān)技巧,需要的朋友可以參考下2016-11-11
JavaScript中關(guān)于遞歸與回溯的實(shí)例詳解
這篇文章主要將為大家介紹一下JavaScript中遞歸與回溯的原理及使用,文中通過一些例題進(jìn)行了詳細(xì)介紹,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-07-07
JavaScript中7種位運(yùn)算符在實(shí)戰(zhàn)的妙用
位運(yùn)算是在數(shù)字底層(即表示數(shù)字的 32 個(gè)數(shù)位)進(jìn)行運(yùn)算的,下面這篇文章主要給大家介紹了關(guān)于JavaScript中7種位運(yùn)算符在實(shí)戰(zhàn)的妙用,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06
JS實(shí)現(xiàn)網(wǎng)頁自動(dòng)刷新腳本的方法
要自動(dòng)刷新網(wǎng)頁,你可以使用JavaScript腳本來實(shí)現(xiàn),下面這篇文章主要給大家介紹了關(guān)于JS實(shí)現(xiàn)網(wǎng)頁自動(dòng)刷新腳本的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11
element-ui組件輸入框之放大鏡搜索圖標(biāo)問題
這篇文章主要介紹了element-ui組件輸入框之放大鏡(搜索圖標(biāo))的相關(guān)知識(shí),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-11-11

