欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS中數(shù)組重排序方法

 更新時(shí)間:2016年11月11日 09:40:50   作者:木木夕木木心  
在數(shù)組中有兩個(gè)可以用來直接排序的方法,分別是reverse()和sort()。下面通過本文給大家詳細(xì)介紹,對(duì)js 數(shù)組重排序相關(guān)知識(shí)感興趣的朋友一起看看吧

1.數(shù)組中已存在兩個(gè)可直接用來重排序的方法:reverse()和sort()。

reverse()和sort()方法的返回值是經(jīng)過排序后的數(shù)組。reverse()方法會(huì)反轉(zhuǎn)數(shù)組項(xiàng)的順序:

var values=[1,2,3,4,5];
values.reverse();
alert(values); //5,4,3,2,1

在默認(rèn)情況下,sort()方法按升序排列數(shù)組,sort()方法會(huì)調(diào)用每個(gè)數(shù)組項(xiàng)的toString()轉(zhuǎn)型方法,然后比較得到字符串,確定如何排序。即使數(shù)組中的每一項(xiàng)都是數(shù)值,sort()方法比較的也是字符串:

var values = [0,1,5,10,15];
values.sort();
alert(values); //0,1,10,15,5

因此,sort()方法可以接收一個(gè)比較函數(shù)作為參數(shù)。

function compare(value1,value2){
if (value1 < value2){
return -1;
}else if (value1 > value2){
return 1;
}else{
return 0;
}
}

此比較函數(shù)可適用于大多數(shù)數(shù)據(jù)類型,只要將其作為參數(shù)傳遞給sort()方法即可:

var values = [0,1,3,7,9,15];
values.sort(compare);
alert(values); //0,1,3,7,9,15

也可通過比較函數(shù)產(chǎn)生降序排序,只需交換函數(shù)返回值即可:

function compare (value1, value2){
if (value1<value2){
return 1;
}else if {
return -1;
}else{
return 0;
}
}

sort()函數(shù)的排序條件是:

參數(shù)大于0,arr的相鄰兩個(gè)元素交換位置;

參數(shù)小于0,arr的相鄰兩個(gè)元素不交換位置;

參數(shù)等于0,arr的相鄰兩個(gè)元素大小相等;所以compare自定義函數(shù)必須返回一個(gè)數(shù)值。

2.對(duì)于數(shù)值類型或者valueOf()方法會(huì)返回?cái)?shù)值類型的對(duì)象類型。

可使用一個(gè)更簡(jiǎn)單的比較函數(shù)。此函數(shù)只要第二個(gè)值減第一個(gè)值即可。

function compare (value1,value2){
return value2 - value1;
}

以上所述是小編給大家介紹的JS中數(shù)組重排序方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論