最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Sort()函數(shù)的多種用法

 更新時(shí)間:2016年03月20日 20:02:05   作者:oSHYo  
sort() 方法用于對(duì)數(shù)組的元素進(jìn)行排序。接下來通過本文給大家介紹Sort()函數(shù)的多種用法,對(duì)sort函數(shù)的用法相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)

sort() 方法用于對(duì)數(shù)組的元素進(jìn)行排序。包含于頭文件algorithm

語法

arrayObject.sort(sortby)

參數(shù) 描述
sortby 可選。規(guī)定排序順序。必須是函數(shù)。

返回值

對(duì)數(shù)組的引用。請(qǐng)注意,數(shù)組在原數(shù)組上進(jìn)行排序,不生成副本。

一、默認(rèn)情況

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

var values = ["orange","apple","banana"];
values.sort();
console.log(values);//結(jié)果["apple", "banana", "orange"]

但是,即使數(shù)組中的每一項(xiàng)都是數(shù)值,sort() 方法比較的也是字符串,如下:

var values = [,,,,];
values.sort();
console.log(values);//結(jié)果[, , , , ]

二、對(duì)數(shù)值進(jìn)行排序

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

比較函數(shù)接收兩個(gè)參數(shù),如果第一個(gè)參數(shù)應(yīng)該位于第二參數(shù)之前則返回一個(gè)負(fù)數(shù),如果兩個(gè)參數(shù)相等則返回0,如果第一個(gè)參數(shù)位于第二個(gè)之后則返回一個(gè)正數(shù)。

function compare(a, b){
return (a - b);
}//按升序排列的比較函數(shù)
var values = [,,,,];
values.sort(compare);
console.log(values);//結(jié)果[, , , , ]

三、根據(jù)某個(gè)對(duì)象屬性對(duì)數(shù)組進(jìn)行排序

先定義一個(gè)函數(shù),它接收一個(gè)屬性名,然后根據(jù)這個(gè)屬性名來創(chuàng)建一個(gè)比較函數(shù)。下面是這個(gè)函數(shù)的定義:

function createComparisonFunction(propertyName){
return function(object, object){
var a = object[propertyName];
var b = object[propertyName];
if(a < b){
return -;
}else if(a > b){
return ;
}else{
return ;
}
}
}//返回一個(gè)根據(jù)屬性名創(chuàng)建的按升序排列的比較函數(shù)

在內(nèi)部函數(shù)接收到propertyName參數(shù)后,它會(huì)使用方括號(hào)表示法來取得給定屬性的值。

上面這個(gè)函數(shù)可以在像在下面例子中這樣使用。

var data = [{name:"Lily", age: }, {name:"Judy", age: }];
data.sort(createComparisonFunction("name"));
console.log(data[].name);//Judy
data.sort(createComparisonFunction("age"));
console.log(data[].name);//Lily

以上內(nèi)容是小編給大家介紹的Sort()函數(shù)的多種用法,希望對(duì)大家以上幫助!

相關(guān)文章

最新評(píng)論

葵青区| 澄迈县| 运城市| 武平县| 酒泉市| 林芝县| 伊金霍洛旗| 海南省| 布尔津县| 新昌县| 偃师市| 宁乡县| 台中县| 古交市| 革吉县| 嘉定区| 洪雅县| 和林格尔县| 高陵县| 滁州市| 荆门市| 奎屯市| 全椒县| 沅陵县| 雷波县| 眉山市| 西昌市| 磴口县| 丰县| 隆尧县| 西乌珠穆沁旗| 兖州市| 长沙市| 临沭县| 靖宇县| 安庆市| 海盐县| 临湘市| 翼城县| 远安县| 云安县|