成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

JavaScript中怎么對(duì)多維數(shù)組多鍵值進(jìn)行排序

JavaScript中怎么對(duì)多維數(shù)組多鍵值進(jìn)行排序,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

德保網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,德保網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為德保上千多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的德保做網(wǎng)站的公司定做!

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

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

arrayobj.sort(sortfunction);

參數(shù):sortFunction

可選項(xiàng)。是用來確定元素順序的函數(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語句中的ORDERBY一樣的多鍵值排序由怎么做呢?

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

數(shù)字:

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

<scriptlanguagescriptlanguage=javascript> varmyArray=newArray();  for(vari=0;i<10;i++)...{  myArray[i]=newArray();  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)...{  return(x[0]==y[0])?((x[4]==y[4])?(x[8]-y[8]):(x[4]-y[4])):(x[2]-y[2])  });  for(vari=0;i<myArray.length;i++)...{  document.write(myArray[i].join(",")+"<br/>");  }  </script>

字符:

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

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

functionsortFunction(array)...{  returnarray.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語句中的ORDERBY一樣的功能。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

網(wǎng)站名稱:JavaScript中怎么對(duì)多維數(shù)組多鍵值進(jìn)行排序
文章鏈接:http://jinyejixie.com/article38/peoosp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、網(wǎng)站收錄網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、用戶體驗(yàn)、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
礼泉县| 屯门区| 大安市| 金川县| 延川县| 都江堰市| 伊川县| 沭阳县| 台南县| 文山县| 涟源市| 兴安盟| 保靖县| 岢岚县| 团风县| 尚志市| 高要市| 额敏县| 怀远县| 若尔盖县| 潍坊市| 陆川县| 静海县| 依兰县| 鹿邑县| 老河口市| 墨脱县| 博湖县| 二连浩特市| 会泽县| 文昌市| 上饶县| 原阳县| 金寨县| 页游| 扎兰屯市| 长兴县| 包头市| 资阳市| 友谊县| 习水县|