最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2015年10月21日 15:48:57   作者:逐浪_一生懸命  
這篇文章主要介紹了JavaScript對象數(shù)組的排序處理方法,以實(shí)例形式分析了JavaScript對象數(shù)組的排序原理與相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了JavaScript對象數(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 對象進(jìn)行適當(dāng)?shù)呐判?;在?zhí)行過程中并不會(huì)創(chuàng)建新的 Array 對象。

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

負(fù)值,如果所傳遞的第一個(gè)參數(shù)比第二個(gè)參數(shù)小。
零,如果兩個(gè)參數(shù)相等。
正值,如果第一個(gè)參數(shù)比第二個(gè)參數(shù)大。

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

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

數(shù)字:

以下的例子是將數(shù)字的多維數(shù)組按照第5列,第9列,第3列的順序排序,像SQL語句中的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 )方法來作比較,從而滿足返回值。以下是多維數(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語句中的ORDER BY 一樣的功能。

希望本文所述對大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 基于Javascript實(shí)現(xiàn)彈出頁面效果

    基于Javascript實(shí)現(xiàn)彈出頁面效果

    彈出層效果是一個(gè)很實(shí)用的功能,很多網(wǎng)站都采用了這種方式實(shí)現(xiàn)登錄和注冊,下面小編通過本文給大家分享具體實(shí)現(xiàn)代碼,對js彈出頁面效果相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • iframe的父子窗口之間的對象相互調(diào)用基本用法

    iframe的父子窗口之間的對象相互調(diào)用基本用法

    iframe在使用時(shí)可能會(huì)涉及到父子窗口之間傳值和方法的相互調(diào)用,研究了一下其實(shí)非常簡單,就那么幾個(gè)用法而已,在此與大家分享下,感興趣的朋友可以參考下
    2013-09-09
  • 微信小程序?qū)崿F(xiàn)左側(cè)導(dǎo)航欄

    微信小程序?qū)崿F(xiàn)左側(cè)導(dǎo)航欄

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)左側(cè)導(dǎo)航欄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • 百度地圖給map添加右鍵菜單(判斷是否為marker)

    百度地圖給map添加右鍵菜單(判斷是否為marker)

    這篇文章主要介紹了百度地圖給map添加右鍵菜單(判斷是否為marker) 的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • JavaScript每天定時(shí)更換皮膚樣式的方法

    JavaScript每天定時(shí)更換皮膚樣式的方法

    這篇文章主要介紹了JavaScript每天定時(shí)更換皮膚樣式的方法,涉及javascript針對時(shí)間及css樣式的相關(guān)操作技巧,需要的朋友可以參考下
    2015-07-07
  • 使用Vite從零搭建前端項(xiàng)目的詳細(xì)過程

    使用Vite從零搭建前端項(xiàng)目的詳細(xì)過程

    這篇文章主要介紹了使用Vite從零搭建前端項(xiàng)目的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • js函數(shù)的延遲加載實(shí)現(xiàn)代碼

    js函數(shù)的延遲加載實(shí)現(xiàn)代碼

    延遲加載的函數(shù),第一次調(diào)用后,會(huì)覆蓋原來的老函數(shù),以后再次調(diào)用的是新函數(shù),不會(huì)再進(jìn)行條件的判斷,提升效率
    2012-10-10
  • JavaScript中的this指向綁定規(guī)則及常見面試總結(jié)

    JavaScript中的this指向綁定規(guī)則及常見面試總結(jié)

    這篇文章主要為大家介紹了JavaScript中的this指向綁定規(guī)則及箭頭韓碩中的this指向,還b包含了常見面試總結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • webpack配置sass模塊的加載的方法

    webpack配置sass模塊的加載的方法

    本篇文章主要介紹了webpack加載sass配置,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • JS實(shí)現(xiàn)帶有3D立體感的銀灰色豎排折疊菜單代碼

    JS實(shí)現(xiàn)帶有3D立體感的銀灰色豎排折疊菜單代碼

    這篇文章主要介紹了JS實(shí)現(xiàn)帶有3D立體感的銀灰色豎排折疊菜單代碼,可實(shí)現(xiàn)基本的JS響應(yīng)鼠標(biāo)事件動(dòng)態(tài)展開與折疊菜單欄的功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10

最新評(píng)論

汉寿县| 渭源县| 缙云县| 乡城县| 平昌县| 保德县| 图片| 盐山县| 闽侯县| 沾益县| 永新县| 清镇市| 漳州市| 苍山县| 新蔡县| 滕州市| 金华市| 河津市| 昭平县| 大洼县| 黄大仙区| 焉耆| 阿拉尔市| 清徐县| 谢通门县| 滦平县| 蕲春县| 衡水市| 远安县| 临漳县| 建水县| 孟连| 莆田市| 龙门县| 舞钢市| 永吉县| 黔东| 土默特左旗| 石门县| 麻栗坡县| 天台县|