国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

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

2019-11-20 11:26:05
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了JavaScript對(duì)象數(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ǔ)句中的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ì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 洛浦县| 郓城县| 左贡县| 天长市| 桐梓县| 浑源县| 钟山县| 大悟县| 新源县| 桃江县| 乌兰浩特市| 磐石市| 北安市| 鹿邑县| 西安市| 渭源县| 江川县| 光山县| 西乌珠穆沁旗| 滁州市| 浪卡子县| 米脂县| 太仆寺旗| 甘孜| 泰安市| 克什克腾旗| 康马县| 桐城市| 马山县| 聂荣县| 房产| 万盛区| 左云县| 依安县| 赣榆县| 屏东市| 新泰市| 清远市| 枣强县| 延津县| 安多县|