溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

sort排序算法的原理是什么

發(fā)布時間:2021-08-12 15:05:13 來源:億速云 閱讀:412 作者:Leah 欄目:開發(fā)技術(shù)

這期內(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è)資訊頻道。

向AI問一下細(xì)節(jié)

免責(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)容。

AI