四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

javascript 數組排序函數

arrayobj.sort(sortfunction);
參數:sortFunction
可選項。是用來確定元素順序的函數的名稱。如果這個參數被省略,那么元素將按照 ASCII 字符順序進行升序排列。
sort 方法將 Array 對象進行適當的排序;在執行過程中并不會創建新的 Array 對象。
如果為 sortfunction 參數提供了一個函數,那么該函數必須返回下列值之一:
負值,如果所傳遞的第一個參數比第二個參數小。
零,如果兩個參數相等。
正值,如果第一個參數比第二個參數大。
以上的方法在一維的排序還是很方便的,但像SQL語句中的ORDER BY 一樣的多鍵值排序由怎么做呢?
多維數組的多鍵值排序,則需要復雜一些,但不需要用循環解決。實際解決的道理是一樣的 。
數字:
以下的例子是將數字的多維數組按照第5列,第9列,第3列的順序排序,像SQL語句中的ORDER BY col5,col9,col7。數字的時候可以直接兩個項目相減,以結果作為返回值即可。
復制代碼 代碼如下:
<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]=Math.floor(Math.random()*10);
myArray[i]=Math.floor(Math.random()*10);
myArray[i]=Math.floor(Math.random()*10);
myArray[i]=Math.floor(Math.random()*10);
myArray[i]=Math.floor(Math.random()*10);
myArray[i]=Math.floor(Math.random()*10);
myArray[i]=Math.floor(Math.random()*10);
myArray[i]=Math.floor(Math.random()*10);
}
myArray.sort( function(x, y) ...{
return (x[0]==y[0])?((x==y)?(x-y):(x-y)):(x-y)
});
for(var i=0;i<myArray.length;i++ )...{
document.write(myArray[i].join(",") + "<br/>");
}
</script>

字符:
字符的時候sortFunction中的項目不能像數字一樣直接相減,需要調用
str1.localeCompare( str2 )方法來作比較,從而滿足返回值。以下是多維數組的第1,2列作排序的情況。
復制代碼 代碼如下:
function sortFunction(array) ...{
return array.sort( function(x, y) ...{
return (x[0]==y[0])?(x.localeCompare(y)):(x[0].localeCompare(y[0]))
});
}

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

JavaScript技術javascript 數組排序函數,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 一年级数学小报简单又漂亮模板| 滨美枝| 歌手蔡国庆个人简历| 怀男孩和女孩有什么区别| 艾娜| 木下柚花| 《克莱默夫妇》| 歌曲我们这一辈原唱| 东北人口流失| 夜半2点钟| 电影四渡赤水在线观看完整版| 形象管理| 王若涵| 电影《kiskisan》在线播放| 久久免费视频网站| 电影《48天》免费观看全集| 飞哥和小佛| 美女写真库| 搬山道人| 王渝萱演过的所有影视作品| 布布一二情侣头像| 腾格尔演的喜剧电影| 《风流艳妇》| 我的父老乡亲| 刘淑华| cctv17节目表今天| 我是特种兵之火凤凰演员表全部| 九龙虫粪便的功效与吃法| 变形金刚7免费高清电影| 绿巨人3| 汤唯和梁朝伟拍戏原版视频| 视频一级片| 那些回不去的年少时光演员表 | 傻少爷大结局| 一句话让男人主动联系你| 护航 电影| 无所畏惧40集演员表| 台风电影| 抖音充值链接| 好妻子全集免费完整版电视剧在线观看 | 长靴靴虐视频vk|