您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)sort排序算法的原理是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
js中sort方法用于對數(shù)組的元素進(jìn)行排序,并返回數(shù)組。默認(rèn)排序順序是根據(jù)字符串Unicode碼點。
sort的語法排序
arrayObject.sort(sortby)
參數(shù)sortby:可選。用于規(guī)定排序順序,必須是函數(shù)。
注:如果調(diào)用該方法時沒有使用參數(shù),將按字母順序?qū)?shù)組中的元素進(jìn)行排序,說得更精確點,是按照字符編碼的順序進(jìn)行排序。要實現(xià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]這次排序似乎沒有得到想要的結(jié)果
如果要得到自己想要的結(jié)果,不管是升序還是降序,就需要提供比較函數(shù)了。該函數(shù)比較兩個值的大小,然后返回一個用于說明這兩個值的相對順序的數(shù)字。
比較函數(shù)應(yīng)該具有兩個參數(shù)a和b,其返回值如下:
若a小于b,即a-b小于零,則返回一個小于零的值,數(shù)組將按照升序排列。
若a等于b,則返回0。
若a大于b,即a-b大于零,則返回一個大于零的值,數(shù)組將按照降序排列。
按照數(shù)值大小進(jìn)行排序-升序
arr.sort(function(a,b){
returna-b;
})
按照數(shù)值大小進(jìn)行排序-降序
arr.sort(function(a,b){
returnb-a;
})
按照數(shù)組中對象的某一個屬性值進(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)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。