成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JavaScript多維數組多鍵值排序方法實現

開發 前端
本文向大家簡單介紹一下JavaScript實現多維數組多鍵值排序方法,JavaScript數組排序函數sort方法,默認是按照ASCII字符順序進行升序排列。

你對JavaScript實現多維數組多鍵值排序方法是否熟悉 ,這里和大家分享一下,JavaScript的數組排序函數sort方法,默認是按照ASCII字符順序進行升序排列。

JavaScript實現多維數組多鍵值排序方法

JavaScript的數組排序函數sort方法,默認是按照ASCII字符順序進行升序排列。

  arrayobj.sort(sortfunction);

參數:sortFunction

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

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

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

  負值,如果所傳遞的***個參數比第二個參數小。

  零,如果兩個參數相等。

  正值,如果***個參數比第二個參數大。

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

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

數字:

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

  1. <scriptlanguagescriptlanguage=javascript> 
  2.   varmyArray=newArray();  
  3.   for(vari=0;i<10;i++)...{  
  4.     myArray[i]=newArray();  
  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.     
  16.   myArray.sort(function(x,y)...{  
  17.     return(x[0]==y[0])?((x[4]==y[4])?(x[8]-y[8]):(x[4]-y[4])):(x[2]-y[2])  
  18.   });  
  19.   for(vari=0;i<myArray.length;i++)...{  
  20.     document.write(myArray[i].join(",")+"<br/>");  
  21.   }  
  22. </script> 
  23.  

 字符:

  字符的時候sortFunction中的項目不能像數字一樣直接相減,需要調用

  str1.localeCompare(str2)方法來作比較,從而滿足返回值。以下是多維數組的第1,2列作排序的情況。

  1. functionsortFunction(array)...{  
  2.   returnarray.sort(function(x,y)...{  
  3.   return(x[0]==y[0])?(x[1].localeCompare(y[1])):(x[0].localeCompare(y[0]))  
  4.   });  
  5. }   

       因此arrayObject.sort(sortFunction)的排序功能還是很強大的,終于能夠實現了SQL語句中的ORDERBY一樣的功能。
 

【編輯推薦】

  1. JavaScript數組元素刪除問題解決方案
  2. 解析Javascript中replace()方法使用
  3. C#代碼與JavaScript函數的相互調用
  4. JavaScript函數中arguments對象
  5. Javascript中CSS屬性float特殊寫法

 

 

責任編輯:佚名 來源: tech.ddvip.com
相關推薦

2009-11-20 09:24:10

PHP多維數組排序

2009-11-16 17:20:04

PHP多維數組排序

2009-11-25 14:44:34

PHP函數array_

2022-02-18 17:34:47

數組多維五維數組

2009-11-17 09:17:49

PHP多維數組排序

2021-10-14 08:58:48

Java冒泡排序

2022-11-13 15:33:30

JavaScript數組開發

2017-04-06 14:10:08

JavaScript數組排序

2009-11-16 16:17:45

PHP數組排序

2011-06-08 15:21:18

多維數組

2011-05-25 11:25:23

快速排序Javascript

2009-08-13 10:35:05

Scala數組排序

2009-11-30 18:59:52

PHP數組排序

2010-10-19 17:34:10

sql server主

2016-10-13 19:33:10

javascript數組indexOf

2009-11-18 11:30:26

PHP數組排序

2009-09-15 16:44:44

Linq排序

2009-10-10 09:27:42

Java泛型通用方法

2020-11-26 08:12:24

JavaScript對象數組

2009-09-16 09:01:40

C#多維數組
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 少妇久久久 | 亚洲在线一区 | 国产一区二区在线免费 | 日韩精品视频中文字幕 | 一区二区三区精品在线 | 国产精品高潮呻吟 | 综合久久久久 | 欧美黄a | www.色五月.com | 欧美精品一区二区三区在线播放 | 一级黄色片免费在线观看 | 精品国产一二三区 | 亚洲精品久久久一区二区三区 | 欧美专区在线视频 | 黄色一级大片在线免费看产 | 亚洲国产免费 | 久久精品日产第一区二区三区 | 99精品视频一区二区三区 | 操久久| 色爱综合网 | 亚洲视频在线观看免费 | 美国十次成人欧美色导视频 | 欧美国产精品 | 蜜桃av鲁一鲁一鲁一鲁 | 亚洲精品久久久一区二区三区 | 色播av| 四虎永久免费地址 | 在线欧美一区 | 久久免费高清视频 | 男女羞羞视频在线观看 | 欧美国产日韩精品 | 精品一二区| 精品国产一区二区 | 日本一区二区三区四区 | 99久久国产综合精品麻豆 | 欧美女优在线观看 | 龙珠z在线观看 | 欧美一区二区三区国产 | 日韩二| 日日日色 | 国产伦精品一区二区三区视频金莲 |