<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          面試題之(sort排序)

          共 1138字,需瀏覽 3分鐘

           ·

          2021-05-11 00:24

          面試主要問題是有無(wú)參數(shù)時(shí)候的區(qū)區(qū)別。

          1

          如果省略參數(shù),元素按照轉(zhuǎn)換為的字符串的各個(gè)字符的Unicode位點(diǎn)進(jìn)行排序。

          let arr = ['General','Tom','Bob','John','Army'];let resArr = arr.sort();console.log(resArr);//輸出   ["Army", "Bob", "General", "John", "Tom"]let arr2 = [30,10,111,35,1899,50,45];let resArr2 = arr2.sort();console.log(resArr2);//輸出   [10, 111, 1899, 30, 35, 45, 50]

          2

          傳入?yún)?shù),實(shí)現(xiàn)升序,降序;

          let arr3 = [30,10,111,35,1899,50,45];arr3.sort(function(a,b){ ? return a - b;})console.log(arr3);//輸出 ?[10, 30, 35, 45, 50, 111, 1899] ? ?let arr4 = [30,10,111,35,1899,50,45];arr4.sort(function(a,b){ ? return b - a;})console.log(arr4);//輸出 [1899, 111, 50, 45, 35, 30, 10]

          3

          當(dāng)json對(duì)象時(shí)候使用對(duì)象某屬性即可

          let arr5 = [{id:10},{id:5},{id:6},{id:9},{id:2},{id:3}];arr5.sort(function(a,b){ ? ?return a.id - b.id})console.log(arr5); ? ?//輸出新的排序 ? ?// ? ?{id: 2} ? ?// ? ?{id: 3} ? ?// ? ?{id: 5} ? ?// ? ?{id: 6} ? ?// ? ?{id: 9} ? ?// ? ?{id: 10}

          值得一提的是,sort排序的算法使用了兩種,如果是小于10的,直接采用插入排序,穩(wěn)定性較高,時(shí)間復(fù)雜度也不高。如果大于10,則采用快速排序,找到基準(zhǔn),左右判斷,不斷遞歸判斷排序。

          總結(jié)

          至于為什么會(huì)是按unicode編碼排序,主要是因?yàn)樵创a里面它會(huì)自動(dòng)判斷,如果沒有沒有傳入函數(shù)參數(shù),它會(huì)把它轉(zhuǎn)為字符串進(jìn)而按unicode編碼排序。也有的伙伴會(huì)說(shuō)是按ascll碼排序,主要是因?yàn)閡nicode碼屬于全世界統(tǒng)一的編碼,基本上所有的字符都能找到,而ascll碼只是方便某一方面方便使用才出現(xiàn)的,而它字符包含得也不是很多。

          瀏覽 98
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美精品系列 | 午夜黄色视频在线观看 | 丁香花中文字幕在线播放 | 大香蕉伊人在线观看免费 | 99只有精品 |