麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > JavaScript > 正文

JavaScript對象數組的排序處理方法

2024-05-06 16:24:46
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了JavaScript對象數組的排序處理方法,以實例形式分析了JavaScript對象數組的排序原理與相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
 

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

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

參數:sortFunction

可選項。是用來確定元素順序的函數的名稱。如果這個參數被省略,那么元素將按照 ASCII 字符順序進行升序排列。

sort 方法將 Array 對象進行適當的排序;在執行過程中并不會創建新的 Array 對象。

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

負值,如果所傳遞的第一個參數比第二個參數小。
零,如果兩個參數相等。
正值,如果第一個參數比第二個參數大。

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

多維數組的多鍵值排序,則需要復雜一些,但不需要用循環解決。實際解決的道理是一樣的 。

數字:

以下的例子是將數字的多維數組按照第5列,第9列,第3列的順序排序,像SQL語句中的ORDER BY col5,col9,col7。數字的時候可以直接兩個項目相減,以結果作為返回值即可。
 

  1. <script language=javascript> 
  2.  var myArray = new Array(); 
  3.  for(var i=0;i<10;i++ ){ 
  4.  myArray[i]=new Array(); 
  5.  myArray[i][0]=Math.floor(Math.random()*10);  
  6.  myArray[i][1]=Math.floor(Math.random()*10); 
  7.  myArray[i][2]=Math.floor(Math.random()*10); 
  8.  myArray[i][3]=Math.floor(Math.random()*10); 
  9.  myArray[i][4]=Math.floor(Math.random()*10); 
  10.  myArray[i][5]=Math.floor(Math.random()*10); 
  11.  myArray[i][6]=Math.floor(Math.random()*10); 
  12.  myArray[i][7]=Math.floor(Math.random()*10); 
  13.  myArray[i][8]=Math.floor(Math.random()*10); 
  14.  } 
  15.  myArray.sort( 
  16.    function(x, y) { 
  17.     if(x[4]!=y[4]){ 
  18.       return x[4]-y[4]; 
  19.     } else if(x[8]!=y[8]){ 
  20.       return x[8]-y[8]; 
  21.     } else if(x[6]!=y[6]){ 
  22.       return x[6]-y[6]; 
  23.     } else { 
  24.       return 1; 
  25.     } 
  26.   } 
  27.   ); 
  28.  for(var i=0;i<myArray.length;i++ )...{ 
  29.  document.write(myArray[i].join(",") + "<br/>"); 
  30.  } 
  31. </script> 
 

字符:

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

  1. function sortFunction(array) { 
  2.  return array.sort( function(x, y) ...{ 
  3.  return (x[0]==y[0])?(x[1].localeCompare(y[1])):(x[0].localeCompare(y[0])) 
  4.  }); 
?
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久久久久久久久久亚洲 | 精品久久久av | 欧美成人高清视频 | 国产午夜精品久久久久婷 | 91一区二区三区久久久久国产乱 | 成人福利免费在线观看 | 奶子吧naiziba.cc免费午夜片在线观看 | 亚欧在线免费观看 | 国产一区二区视频观看 | 国产午夜精品一区二区三区免费 | 一区二区久久精品66国产精品 | 一本色道久久综合亚洲精品小说 | 中文字幕xxx| 日日鲁夜夜视频热线播放 | 免费a级观看 | 92看片淫黄大片欧美看国产片 | 中文字幕在线观看www | 欧美国产免费 | 欧美三级日本三级少妇99 | av老司机久久 | 国产成人高潮免费观看精品 | 极品国产91在线网站 | 国产成人77亚洲精品www | 日韩精品免费一区二区三区 | 性欧美大战久久久久久久免费观看 | 午夜看毛片 | 羞羞视频免费网站男男 | 97超级碰碰人国产在线观看 | 国产一级免费视频 | 久久情爱网 | 久久国产精品免费视频 | 欧美一级小视频 | 久久久久久久91 | av影片在线观看 | 欧美久久久久久久久 | 久草手机在线 | 康妮卡特欧美精品一区 | 超碰97最新 | 黄色免费入口 | 国产99久久久久 | 午夜视频亚洲 |