欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript對(duì)象數(shù)組的排序處理方法

 更新時(shí)間:2015年10月21日 15:48:57   作者:逐浪_一生懸命  
這篇文章主要介紹了JavaScript對(duì)象數(shù)組的排序處理方法,以實(shí)例形式分析了JavaScript對(duì)象數(shù)組的排序原理與相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了JavaScript對(duì)象數(shù)組的排序處理方法。分享給大家供大家參考,具體如下:

javascript的數(shù)組排序函數(shù) sort方法,默認(rèn)是按照ASCII 字符順序進(jìn)行升序排列。
arrayobj.sort(sortfunction);

參數(shù):sortFunction

可選項(xiàng)。是用來(lái)確定元素順序的函數(shù)的名稱。如果這個(gè)參數(shù)被省略,那么元素將按照 ASCII 字符順序進(jìn)行升序排列。

sort 方法將 Array 對(duì)象進(jìn)行適當(dāng)?shù)呐判?;在?zhí)行過程中并不會(huì)創(chuàng)建新的 Array 對(duì)象。

如果為 sortfunction 參數(shù)提供了一個(gè)函數(shù),那么該函數(shù)必須返回下列值之一:

負(fù)值,如果所傳遞的第一個(gè)參數(shù)比第二個(gè)參數(shù)小。
零,如果兩個(gè)參數(shù)相等。
正值,如果第一個(gè)參數(shù)比第二個(gè)參數(shù)大。

以上的方法在一維的排序還是很方便的,但像SQL語(yǔ)句中的ORDER BY 一樣的多鍵值排序由怎么做呢?

多維數(shù)組的多鍵值排序,則需要復(fù)雜一些,但不需要用循環(huán)解決。實(shí)際解決的道理是一樣的 。

數(shù)字:

以下的例子是將數(shù)字的多維數(shù)組按照第5列,第9列,第3列的順序排序,像SQL語(yǔ)句中的ORDER BY col5,col9,col7。數(shù)字的時(shí)候可以直接兩個(gè)項(xiàng)目相減,以結(jié)果作為返回值即可。

<script language=javascript>
 var myArray = new Array();
 for(var i=0;i<10;i++ ){
 myArray[i]=new Array();
 myArray[i][0]=Math.floor(Math.random()*10); 
 myArray[i][1]=Math.floor(Math.random()*10);
 myArray[i][2]=Math.floor(Math.random()*10);
 myArray[i][3]=Math.floor(Math.random()*10);
 myArray[i][4]=Math.floor(Math.random()*10);
 myArray[i][5]=Math.floor(Math.random()*10);
 myArray[i][6]=Math.floor(Math.random()*10);
 myArray[i][7]=Math.floor(Math.random()*10);
 myArray[i][8]=Math.floor(Math.random()*10);
 }
 myArray.sort(
   function(x, y) {
    if(x[4]!=y[4]){
      return x[4]-y[4];
    } else if(x[8]!=y[8]){
      return x[8]-y[8];
    } else if(x[6]!=y[6]){
      return x[6]-y[6];
    } else {
      return 1;
    }
  }
  );
 for(var i=0;i<myArray.length;i++ )...{
 document.write(myArray[i].join(",") + "<br/>");
 }
</script>

字符:

字符的時(shí)候sortFunction中的項(xiàng)目不能像數(shù)字一樣直接相減,需要調(diào)用str1.localeCompare( str2 )方法來(lái)作比較,從而滿足返回值。以下是多維數(shù)組的第1,2列作排序的情況。

function sortFunction(array) {
 return array.sort( function(x, y) ...{
 return (x[0]==y[0])?(x[1].localeCompare(y[1])):(x[0].localeCompare(y[0]))
 });
}

因此arrayObject.sort( sortFunction )的排序功能還是很強(qiáng)大的,終于能夠?qū)崿F(xiàn)了SQL語(yǔ)句中的ORDER BY 一樣的功能。

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 小程序登錄之支付寶授權(quán)的實(shí)現(xiàn)示例

    小程序登錄之支付寶授權(quán)的實(shí)現(xiàn)示例

    這篇文章主要介紹了小程序登錄之支付寶授權(quán)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • javascript獲取選中的文本的方法代碼

    javascript獲取選中的文本的方法代碼

    這篇文章介紹了javascript獲取選中的文本的方法代碼,有需要的朋友可以參考一下
    2013-10-10
  • javascript數(shù)組按屬性分組實(shí)現(xiàn)方法

    javascript數(shù)組按屬性分組實(shí)現(xiàn)方法

    在開發(fā)過程中,前端有時(shí)需要對(duì)后端返回的數(shù)據(jù)進(jìn)行一些處理,當(dāng)后端返回給我們json對(duì)象數(shù)組時(shí),我們可能會(huì)需要按照對(duì)象中的某一個(gè)屬性來(lái)進(jìn)行分組,下面這篇文章主要給大家介紹了關(guān)于javascript數(shù)組按屬性分組的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2023-05-05
  • javascript之bind使用介紹

    javascript之bind使用介紹

    首先apply和call是老生常談的東西,但是對(duì)于bind,我愣了下,因?yàn)檫@個(gè)詞是jquery中使用頻率很高的一個(gè)方法,用來(lái)給DOM元素綁定事件用的
    2011-10-10
  • 動(dòng)態(tài)加載外部javascript文件的函數(shù)代碼分享

    動(dòng)態(tài)加載外部javascript文件的函數(shù)代碼分享

    動(dòng)態(tài)加載外部javascript文件的函數(shù)代碼分享,做個(gè)記錄備忘,方便查找。
    2011-07-07
  • js+html5實(shí)現(xiàn)canvas繪制簡(jiǎn)單矩形的方法

    js+html5實(shí)現(xiàn)canvas繪制簡(jiǎn)單矩形的方法

    這篇文章主要介紹了js+html5實(shí)現(xiàn)canvas繪制簡(jiǎn)單矩形的方法,涉及html5圖形繪制的基本技巧,需要的朋友可以參考下
    2015-06-06
  • 詳解JavaScript中Object的重要屬性

    詳解JavaScript中Object的重要屬性

    JavaScript 中的 Object 是一種非常靈活且強(qiáng)大的數(shù)據(jù)類型,它允許我們創(chuàng)建和操作鍵值對(duì),在本文中,我們將深入探討 Object 的一些重要屬性,以便更好地理解和利用這個(gè)關(guān)鍵的數(shù)據(jù)結(jié)構(gòu),需要的朋友可以參考下
    2023-11-11
  • 詳解webpack 入門總結(jié)和實(shí)踐(按需異步加載,css單獨(dú)打包,生成多個(gè)入口文件)

    詳解webpack 入門總結(jié)和實(shí)踐(按需異步加載,css單獨(dú)打包,生成多個(gè)入口文件)

    本篇文章主要介紹了webpack 入門總結(jié)和實(shí)踐(按需異步加載,css單獨(dú)打包,生成多個(gè)入口文件) ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • JS對(duì)象類型之Error錯(cuò)誤對(duì)象的用法詳解

    JS對(duì)象類型之Error錯(cuò)誤對(duì)象的用法詳解

    error對(duì)象是JavaScript的原生對(duì)象,當(dāng)程序解析和運(yùn)行過程中發(fā)生了錯(cuò)誤,JS引擎就會(huì)自動(dòng)產(chǎn)生并拋出一個(gè)error對(duì)象的實(shí)例,并且程序會(huì)終止在錯(cuò)誤發(fā)生的地方,本文給大家介紹了JS Error錯(cuò)誤對(duì)象的用法,需要的朋友可以參考下
    2024-04-04
  • js隨機(jī)生成一個(gè)驗(yàn)證碼

    js隨機(jī)生成一個(gè)驗(yàn)證碼

    這篇文章主要為大家詳細(xì)介紹了js隨機(jī)生成一個(gè)驗(yàn)證碼的具體方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06

最新評(píng)論