sort排序算法的原理是什么-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)sort排序算法的原理是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)主營(yíng)東安網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app軟件開(kāi)發(fā),東安h5小程序制作搭建,東安網(wǎng)站營(yíng)銷推廣歡迎東安等地區(qū)企業(yè)咨詢

js中sort方法用于對(duì)數(shù)組的元素進(jìn)行排序,并返回?cái)?shù)組。默認(rèn)排序順序是根據(jù)字符串Unicode碼點(diǎn)。

sort的語(yǔ)法排序

arrayObject.sort(sortby)

參數(shù)sortby:可選。用于規(guī)定排序順序,必須是函數(shù)。

注:如果調(diào)用該方法時(shí)沒(méi)有使用參數(shù),將按字母順序?qū)?shù)組中的元素進(jìn)行排序,說(shuō)得更精確點(diǎn),是按照字符編碼的順序進(jìn)行排序。要實(shí)現(xiàn)這一點(diǎn),首先應(yīng)把數(shù)組的元素都轉(zhuǎn)換成字符串(如有必要),以便進(jìn)行比較。

sort排序有哪些

默認(rèn)按照字母順序排序

vararr1=['a','d','c','b'];

arr.sort();//['a','b','c','d']

vararr2=[10,5,40,25,100,1];

arr2.sort();//[1,10,100,25,40,5]這次排序似乎沒(méi)有得到想要的結(jié)果

如果要得到自己想要的結(jié)果,不管是升序還是降序,就需要提供比較函數(shù)了。該函數(shù)比較兩個(gè)值的大小,然后返回一個(gè)用于說(shuō)明這兩個(gè)值的相對(duì)順序的數(shù)字。

比較函數(shù)應(yīng)該具有兩個(gè)參數(shù)a和b,其返回值如下:

若a小于b,即a-b小于零,則返回一個(gè)小于零的值,數(shù)組將按照升序排列。

若a等于b,則返回0。

若a大于b,即a-b大于零,則返回一個(gè)大于零的值,數(shù)組將按照降序排列。

按照數(shù)值大小進(jìn)行排序-升序

arr.sort(function(a,b){

 returna-b;

})

按照數(shù)值大小進(jìn)行排序-降序

arr.sort(function(a,b){

 returnb-a;

})

按照數(shù)組中對(duì)象的某一個(gè)屬性值進(jìn)行排序

vararr=[

{name:'zopp',age:0},

{name:'gpp',age:18},

{name:'yjj',age:8}

];

functioncompare(property){

returnfunction(a,b){

varvalue1=a[property];

varvalue2=b[property];

returnvalue1-value2;

}

}

console.log(arr.sort(compare('age')))

上述就是小編為大家分享的sort排序算法的原理是什么了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁(yè)名稱:sort排序算法的原理是什么-創(chuàng)新互聯(lián)
文章地址:http://muchs.cn/article28/cdogcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)網(wǎng)站制作、標(biāo)簽優(yōu)化、品牌網(wǎng)站制作、搜索引擎優(yōu)化、域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司