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

js模擬實(shí)現(xiàn)Array的sort方法

 更新時(shí)間:2007年12月11日 18:56:07   投稿:mdxy-dxy  
JavaScript的Array對(duì)象有一個(gè)sort方法,用于實(shí)現(xiàn)對(duì)數(shù)組元素的排序,該方法默認(rèn)按照數(shù)組項(xiàng)ASCII 字符順序升序排列。這篇文章重點(diǎn)給大家介紹js模擬實(shí)現(xiàn)Array的sort方法,一起看看吧

JavaScript的Array對(duì)象有一個(gè)sort方法,用于實(shí)現(xiàn)對(duì)數(shù)組元素的排序,該方法默認(rèn)按照數(shù)組項(xiàng)ASCII 字符順序升序排列。  
如[6,7,9,1,-1].sort();執(zhí)行后數(shù)組變?yōu)閇-1,1,6,7,9]。  

對(duì)于需要降序排列或非字符串排序,該方法就不能很好的執(zhí)行了。  

當(dāng)然,sort有一個(gè)可選參數(shù),它能幫我們解決這個(gè)問題,通過為sort傳入一個(gè)函數(shù),sort根據(jù)函數(shù)返回值進(jìn)行排序。  

數(shù)組為該函數(shù)默認(rèn)傳入數(shù)組中的兩個(gè)元素,如傳入a,b,如果函數(shù)返回值大于0,則排序方式為b,a,如果返回值小于0,則排序結(jié)果為a,b。  

具體含義不好解釋,當(dāng)初我也對(duì)這個(gè)sort其到底是怎么排序的不理解。  

如果知道了其實(shí)現(xiàn)過程,就對(duì)他的排序原理明了了。  

sort的實(shí)現(xiàn)其實(shí)很像是一個(gè)簡(jiǎn)單的冒泡排序。  

偶今日對(duì)其進(jìn)行了模擬,看懂這個(gè)函數(shù)你一定就明白sort的原理了。  

<script type="text/javascript">  
 <!--  
  var myarray = new Array(8,6,7,9,1,-1,4);  
  var myarray1 = new Array(8,6,7,9,1,-1,4);  
  var sortAsc = function(x,y) { return x-y; };  
  var sortDesc = function(x,y) { return y-x; };  
  Array.prototype.st=function(fn){  
    var t;  
    fn=fn||function(x,y){return x-y};  
    for(var i=0;i<this.length;i++){  
      for(var j=i;j<this.length;j++){  
        if(fn(this[i],this[j])>0){  
          t=this[i];  
          this[i]=this[j];  
          this[j]=t;  
        }  
      }  
    }  
  }  
  myarray.st();  
  alert("默認(rèn)升序排列:"+myarray);  

  myarray.st(sortDesc);  
  alert("降序排列:"+myarray);  

  myarray.st(sortAsc);  
  alert("升序排列:"+myarray);  
    
  myarray1.sort(function(){return 1}); //注:js默認(rèn)的sort對(duì)此排序結(jié)果跟這個(gè)不一樣,其排序方式還暫不理解  
  alert("逆序排列:"+myarray1);    
    
 //-->  
 </script> 

總結(jié)

以上所述是小編給大家介紹的js模擬實(shí)現(xiàn)Array的sort方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • JavaScript Html實(shí)現(xiàn)移動(dòng)端紅包雨功能頁(yè)面

    JavaScript Html實(shí)現(xiàn)移動(dòng)端紅包雨功能頁(yè)面

    這篇文章主要為大家詳細(xì)介紹了JavaScript Html實(shí)現(xiàn)移動(dòng)端紅包雨功能頁(yè)面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • JavaScript取得gridview中獲取checkbox選中的值

    JavaScript取得gridview中獲取checkbox選中的值

    這篇文章主要介紹了 js取得gridview中獲取checkbox選中的值,本文給大家分享兩段代碼片段,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-07-07
  • JavaScript中的undefined學(xué)習(xí)總結(jié)

    JavaScript中的undefined學(xué)習(xí)總結(jié)

    這篇文章主要是對(duì)JavaScript中的undefined進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2013-11-11
  • js實(shí)現(xiàn)仿購(gòu)物車加減效果

    js實(shí)現(xiàn)仿購(gòu)物車加減效果

    本文主要介紹了js實(shí)現(xiàn)仿購(gòu)物車+ -效果的實(shí)例,具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-03-03
  • 用Fundebug插件記錄網(wǎng)絡(luò)請(qǐng)求異常的方法

    用Fundebug插件記錄網(wǎng)絡(luò)請(qǐng)求異常的方法

    這篇文章主要介紹了用Fundebug插件記錄網(wǎng)絡(luò)請(qǐng)求異常的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02
  • 深入淺析JS中的嚴(yán)格模式

    深入淺析JS中的嚴(yán)格模式

    嚴(yán)格模式就是使JS編碼更加規(guī)范化的模式,消除Javascript語(yǔ)法的一些不合理、不嚴(yán)謹(jǐn)之處,減少一些怪異行為。下面通過代碼相結(jié)合的形式給大家介紹js中的嚴(yán)格模式,感興趣的朋友一起看看吧
    2018-06-06
  • 如何利用JavaScript實(shí)現(xiàn)排序算法淺析

    如何利用JavaScript實(shí)現(xiàn)排序算法淺析

    排序算法是筆試中經(jīng)常出現(xiàn)的,提起排序算法就一定要提下算法復(fù)雜度和大O表示法,算法復(fù)雜度是指算法在編寫成可執(zhí)行程序后,運(yùn)行時(shí)所需要的資源,資源包括時(shí)間資源和內(nèi)存資源,這篇文章主要給大家介紹了關(guān)于如何利用JavaScript實(shí)現(xiàn)排序算法的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • javascript 通過封裝div方式彈出div窗體

    javascript 通過封裝div方式彈出div窗體

    廢話少說,此js對(duì)象是通過封裝頁(yè)面上的div,將其彈出,可以彈出多個(gè),參考了一些高人代碼,達(dá)到我要的效果。先看看效果圖。配合一css就可以很好看了。
    2009-10-10
  • 限制textbox或textarea輸入字符長(zhǎng)度的JS代碼

    限制textbox或textarea輸入字符長(zhǎng)度的JS代碼

    textbox或textarea的輸入字符限制有很多方法,在本將為大家詳細(xì)介紹下js中時(shí)如何實(shí)現(xiàn)的,感興趣的朋友不要錯(cuò)過
    2013-10-10
  • 詳解Webpack-dev-server的proxy用法

    詳解Webpack-dev-server的proxy用法

    這篇文章主要介紹了詳解Webpack-dev-server的proxy用法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09

最新評(píng)論

南岸区| 盖州市| 滨州市| 上杭县| 湾仔区| 灵寿县| 金湖县| 望江县| 霞浦县| 南丰县| 防城港市| 冷水江市| 临澧县| 江口县| 岳池县| 丽江市| 青海省| 金坛市| 克东县| 建德市| 通州区| 会泽县| 石首市| 平阳县| 安康市| 南投县| 张家界市| 固始县| 满城县| 榕江县| 宜城市| 延边| 泰兴市| 黄龙县| 于都县| 汉沽区| 商丘市| 雷山县| 伊通| 遵义市| 恭城|