日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
JavaScript多維數(shù)組多鍵值排序方法實(shí)現(xiàn)

你對(duì)JavaScript實(shí)現(xiàn)多維數(shù)組多鍵值排序方法是否熟悉 ,這里和大家分享一下,JavaScript的數(shù)組排序函數(shù)sort方法,默認(rèn)是按照ASCII字符順序進(jìn)行升序排列。

JavaScript實(shí)現(xiàn)多維數(shù)組多鍵值排序方法

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

  arrayobj.sort(sortfunction);

參數(shù):sortFunction

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

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

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

  負(fù)值,如果所傳遞的***個(gè)參數(shù)比第二個(gè)參數(shù)小。

  零,如果兩個(gè)參數(shù)相等。

  正值,如果***個(gè)參數(shù)比第二個(gè)參數(shù)大。

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

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

數(shù)字:

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

 
 
 

 字符:

  字符的時(shí)候sortFunction中的項(xiàng)目不能像數(shù)字一樣直接相減,需要調(diào)用

  str1.localeCompare(str2)方法來(lái)作比較,從而滿(mǎn)足返回值。以下是多維數(shù)組的第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)的排序功能還是很強(qiáng)大的,終于能夠?qū)崿F(xiàn)了SQL語(yǔ)句中的ORDERBY一樣的功能。


當(dāng)前題目:JavaScript多維數(shù)組多鍵值排序方法實(shí)現(xiàn)
本文網(wǎng)址:http://m.5511xx.com/article/dpcoigd.html