亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

JavaScript對象數(shù)組排序函數(shù)及六個(gè)用法

2024-05-06 16:26:49
字體:
供稿:網(wǎng)友
本文給大家分享一個(gè)用于數(shù)組或者對象的排序的函數(shù)。該函數(shù)可以以任意深度的數(shù)組或者對象的值作為排序基數(shù)對數(shù)組或的元素進(jìn)行排序
 

分享一個(gè)用于數(shù)組或者對象的排序的函數(shù)。該函數(shù)可以以任意深度的數(shù)組或者對象的值作為排序基數(shù)對數(shù)組或的元素進(jìn)行排序。

代碼如下:

 /**  * 排序數(shù)組或者對象  * by Jinko  * date --  * @param object 數(shù)組或?qū)ο? * @param subkey 需要排序的子鍵, 該參數(shù)可以是字符串, 也可以是一個(gè)數(shù)組  * @param desc 排序方式, true:降序, false|undefined:升序  * @returns {*} 返回排序后的數(shù)組或者對象  *  * 注意: 對于對象的排序, 如果使用console.log打印對象的顯示可能和排序結(jié)果不一致,  *  其鍵會被瀏覽器以字母順序排序顯示,但在for循環(huán)中則為正確的排序順序  */ function sort_object(object, subkey, desc) {   var is_array = false;   if(Object.prototype.toString.call(object) === '[object Array]') {     is_array = true;   }   if(is_array) {     var keys = {length:object.length};   } else {     if(typeof(Object.keys) == 'function') {       var keys = Object.keys(object);     } else{       var keys = [];       for(var key in keys) {         keys.push(key);       }     }   }   for(var i=; i<keys.length; i++) {     for(var j=i+; j<keys.length; j++) {       if(is_array) {         //數(shù)組排序         if(Object.prototype.toString.call(subkey) === '[object Array]') {           var vali = object[i];           var valj = object[j];           for(var si=; si<subkey.length; si++) {             vali = vali[ subkey[si] ];             valj = valj[ subkey[si] ];           }         } else {           if((!subkey && subkey !== ) || subkey == '' && object.sort) {             var vali = object[i];             var valj = object[j];           } else {             var vali = object[i][subkey];             var valj = object[j][subkey];           }         }         if(desc) {           if(valj > vali) {             var tmp = object[i];             object[i] = object[j];             object[j] = tmp;           }         } else {           if(valj < vali) {             var tmp = object[i];             object[i] = object[j];             object[j] = tmp;           }         }       } else {         //對象排序         var obi = object[ keys[i] ];         var obj = object[ keys[j] ];         if(Object.prototype.toString.call(subkey) === '[object Array]') {           var vali = obi;           var valj = obj;           for(var si=; si<subkey.length; si++) {             vali = vali[ subkey[si] ];             valj = valj[ subkey[si] ];           }         } else {           if((!subkey && subkey !== ) || subkey == '' && object.sort) {             var vali = obi;             var valj = obj;           } else {             var vali = obi[subkey];             var valj = obj[subkey];           }         }         if(desc) {           if(valj > vali) {             var tmp = keys[i];             keys[i] = keys[j];             keys[j] = tmp;           }         } else {           if(valj < vali) {             var tmp = keys[i];             keys[i] = keys[j];             keys[j] = tmp;           }         }       }//is!array     }   }   if(is_array) {     return object;   } else {     var sorted = {};     for(var i=; i<keys.length; i++) {       sorted[ keys[i] ] = object[ keys[i] ];     }     return sorted;   } } //sort_object 

用法如下:

用法1: 

 var data = {   "a": {     "session_offline": ,     "session_online": ,     "session_count":    },   "b": {     "session_offline": ,     "session_online": ,     "session_count":    },   "c": {     "session_offline": ,     "session_online": ,     "session_count":    },   "d": {     "session_offline": ,     "session_online": ,     "session_count":    } }; //根據(jù)session_online字段升序排序 data = sort_object(data, 'session_online'); for(var k in data) {   console.log(data[k]); } console.log('------------------'); //根據(jù)session_offline字段降序排序 data = sort_object(data, 'session_offline', true); for(var k in data) {   console.log(data[k]); } 

 用法2:

var data = [   {     "cpu": ,     "cpuhz": ,     "cpuhz_use": ,   },   {     "cpu": ,     "cpuhz": ,     "cpuhz_use": ,   },   {     "cpu": ,     "cpuhz": ,     "cpuhz_use": ,   },   {     "cpu": ,     "cpuhz": ,     "cpuhz_use": ,   } ]; //根據(jù)cpuhz_use字段進(jìn)行排序 data = sort_object(data, 'cpuhz_use'); console.log(data); 

 用法3:

 var data = [,,,,,,,]; //對一維數(shù)組進(jìn)行升序排序 data = sort_object(data); console.log(data); //對一維數(shù)組進(jìn)行降序排序 data = sort_object(data, null, true); console.log(data); 

 用法4:

 var data = {'a':, 'b':, 'c':, 'd':}; //對對象進(jìn)行升序排序 data = sort_object(data); //對對象進(jìn)行降序排序 data = sort_object(data, '', true); for(var k in data) {   console.log(k, ':', data[k]); } 

 用法5:

 var data = {   "l_": {     "l": {       "l":      }   },   "l_": {     "l": {       "l":      }   },   "l_": {     "l": {       "l":      }   },   "l_": {     "l": {       "l":      }   } }; //對對象元素的l下的l的值為基礎(chǔ)進(jìn)行升序排序 data = sort_object(data, ['l', 'l']); for(var k in data) {   console.log(data[k].l); } 

 用法6:

var data = [   [     {       "a":      },     ,   ],   [     {       "a":      },     ,   ],   [     {       "a":      },     ,   ] ]; //對數(shù)組的元素以下標(biāo)為的元素的鍵名為a的值為基礎(chǔ)進(jìn)行升序排序 data = sort_object(data, [,'a']); for(var k = ; k<data.length; k++) {   console.log(data[k]); } console.log('---------------------'); //對數(shù)組的元素以下標(biāo)為的元素的值為基礎(chǔ)進(jìn)行升序排序 data = sort_object(data, []); // 等價(jià)于 data = sort_object(data, ); for(var k = ; k<data.length; k++) {   console.log(data[k]); }

以上內(nèi)容是小編給大家分享的JavaScript對象數(shù)組排序函數(shù)及六個(gè)用法的全部敘述,希望大家喜歡。



注:相關(guān)教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

日韩免费电影一区二区| 天堂网在线观看国产精品| 久久女同性恋中文字幕| 亚洲一区bb| 亚洲热在线视频| 成人黄动漫网站免费| 日本一区二区精品| 亚洲va韩国va欧美va精品| 97超级在线观看免费高清完整版电视剧| 欧美理论电影大全| 日本高清免费观看| 亚洲欧美激情视频| www.激情五月.com| 久久99久久99精品免观看粉嫩| 国产美女在线精品免费观看| 男人网站视频| www.555国产精品免费| 在线免费观看电影网站入口| 午夜精品视频网站| 国产一区日韩欧美| 久久久久久久蜜桃| 久久国产精品免费精品3p| 夜夜亚洲天天久久| 成人免费视频网址| www.夜夜爱| 欧美黑人巨大xxx极品| 亚洲狼人在线| 亚洲成人精选| 婷婷视频在线播放| 国产精品va| 韩国视频理论视频久久| 欧美videosex性欧美黑吊| 鲁大师精品99久久久| 国模一区二区三区| 一区二区三区在线观看av| 欧美激情亚洲天堂| www.色婷婷| 亚洲精品成人精品456| 久久五月天色综合| 亚洲综合免费观看高清完整版在线| 中文字幕精品—区二区| 久久永久免费视频| 久久综合导航| 99精品视频在线看| 国产精品入口尤物| 丰满人妻一区二区三区大胸| 在线播放精品一区二区三区| 国产一二三四区| 深夜福利av你懂的| 欧美一级片在线看| 久久久久亚洲精品一区二区三区| 91精品国产91久久久| 嫩草影院官网| 亚洲视频tv| 19禁羞羞电影院在线观看| 六月天色婷婷| 欧美日韩无遮挡| 亚洲人在线视频| 青青视频免费在线观看| 中文在线www| 欧美日韩国产另类不卡| 伊人久久在线| 国产ts人妖一区二区| 热99这里只有精品| 欧美日韩亚洲综合一区二区三区激情在线| 日本一区二区三区中文字幕| 亚洲一级电影| 欧美日韩亚洲自拍| 性折磨bdsm欧美激情另类| 青青艹视频在线| 欧美三日本三级三级在线播放| 国产乱色在线观看| 欧美xxxxx牲另类人与| 国产精品呻吟久久| 精品无码人妻一区二区三区品| 一区二区黄色| 一本久久a久久精品亚洲| 精品人妻无码一区二区三区| 久久97精品久久久久久久不卡| 日韩精品一区二区三区色偷偷| 国产成人涩涩涩视频在线观看| 男女下面一进一出无遮挡| 大量国产精品视频| 欧美日韩一级大片网址| 黄色动漫网站| 日韩av影视| 欧美sm极限捆绑bd| 涩涩网在线视频| 偷拍女澡堂一区二区三区| 九九久久99| 激情久久免费视频| 色就色 综合激情| 老汉av免费一区二区三区| 午夜精品av| 国产精品一区二区三区四区在线观看| 亚洲成人福利在线| 欧美黑粗硬大| freehdxxxx护士| 成人少妇影院yyyy| 国产主播欧美精品| 欧美色网一区| 亚洲高清三级视频| 免费看的国产视频网站| 日韩精品视频一区二区| 国内精品久久久久久久97牛牛| h片在线观看视频免费| 亚洲福利视频三区| 久久手机免费观看| 蜜桃精品wwwmitaows| 你懂的成人av| 欧美日韩免费观看视频| 亚州国产精品| 人人干人人插| 中国女人精69xxxxxx视频| 国产日韩欧美综合精品| 亚洲欧美色图小说| 粉嫩精品一区二区三区在线观看| 精品久久久免费视频| 亚洲人体影院| 一级毛片视频在线观看| 欧美日韩久久一区二区| 亚洲一二三区在线| 黄色网页在线免费观看| 亚洲精品一区中文| 久热精品视频在线| 黄网站色欧美视频| 国产视频一区二区三区四区五区| 国产精品久久久久久久龚玥菲| 一级毛片视频在线观看| 欧美成人一区二区三区片免费| 神马午夜电影一区二区三区在线观看| 欧美不卡高清| 91麻豆精品国产91久久久使用方法| 亚洲 小说区 图片区 都市| 可以看av的网站久久看| 欧美色精品在线视频| 成人性生交大片免费看中文视频| 欧美一级免费在线| 美女在线不卡| 国产精品av免费观看| 中文字幕视频精品一区二区三区| 国产精品诱惑| 中文字幕一区二区三区人妻不卡| 青青草免费在线| 国产亚洲欧美精品久久久久久| 国产91丝袜在线播放九色| 午夜精品久久久久久久白皮肤| 91在线观看免费| av色图一区| 美女毛片一区二区三区四区最新中文字幕亚洲| 日韩在线电影一区| 欧美日韩极品在线观看一区| 久青草视频在线播放| 欧美精品v日韩精品v韩国精品v| 免费a在线观看播放| 久久久久亚洲av成人网人人软件| 久久精品一区中文字幕| 中文字幕一区二区三区在线不卡| 熟女俱乐部一区二区| 性色av一区二区三区| 97cao在线| 潘金莲一级黄色片| 亚洲久久久久久| 青青草成人网| 成人免费av| 欧美激情奇米色| 欧美激情1区| 精品乱码一区二区三区四区| 97免费视频在线| 日韩视频一区在线| 久久久精品一区二区涩爱| 亚洲丝袜精品| 午夜激情福利在线| 日韩视频免费观看| 无码一区二区三区| 青青草在线免费观看| 国产精品久久久久久久久久小说| 日本精品在线播放| 亚洲性视频网址| 中文字幕一区二区三区乱码不卡| 99r国产精品视频| 性高湖久久久久久久久aaaaa| 99热这里都是精品| 中文字幕无线精品亚洲乱码一区| 成人全视频免费观看在线看| 国产一区二区视频在线| 国产高清大尺度一区二区不卡| 一本色道久久综合精品竹菊| 日本三级视频在线| 亚洲欧洲美洲综合色网| 成人ww免费完整版在线观看| 久草福利资源在线| 国产精品美女在线观看| 国产精品免费一区二区三区| 久久久久久久久久国产精品| 一级欧美一级日韩| 99久久婷婷国产综合精品| 一色屋色费精品视频在线观看| 韩日欧美一区二区| 91国内精品久久| 老司机一区二区| 久久午夜老司机| 女人帮男人橹视频播放| 国产 日韩 欧美| 日韩精品中文字幕一区二区| 欧美三级日韩三级国产三级| 激情视频综合网| 日本三级黄色网址| 你懂的网站在线观看网址| 国产精品日韩久久久久| www.综合| 欧美久久在线| 国内自拍中文字幕| 久久精品国产屋| 国产精品一区久久| 91亚洲精品在看在线观看高清| 都市激情亚洲欧美| 99久久婷婷国产综合精品首页| 精品国产18久久久久久二百| 欧美三级在线观看视频| 亚洲一区二区四区| 中文字幕亚洲综合| 日韩在线观看视频一区二区三区| 国产哺乳奶水91在线播放| 91久久极品少妇xxxxⅹ软件| 色悠久久久久综合先锋影音下载| 亚洲国产精品久久久久蝴蝶传媒| 久久亚洲精品小早川怜子| 免费久久久久久久久| 欧美国产先锋| 国产精品免费aⅴ片在线观看| 欧美做受777cos| 成人a在线视频免费观看| 欧美爱爱网站| 国产福利免费观看| 欧美主播一区二区三区| 中文字幕在线看| 亚洲天堂免费在线观看视频| 一区二区三区日本视频| 欧美激情国产在线| 欧美色图在线视频| 国产精品久久久久不卡| 久久69av| 精品久久久99| 韩国一区二区三区视频| 欧美亚洲第一页| gogo亚洲高清大胆美女人体| 亚洲伊人婷婷| 久久久亚洲精品视频| 狠狠做六月爱婷婷综合aⅴ| 亚洲欧美日韩人成在线播放| 精品美女在线播放| 成人夜晚看av| 一区二区三区丝袜| 日本老妇乱子| 中文字幕成在线观看| 中文字幕人妻熟女在线| av日韩国产| 欧美一二三区在线观看| 4p变态网欧美系列| 中文字幕在线观看精品| 欧美激情综合五月色丁香| 天天操天天射天天插| 五月婷婷六月丁香综合| 欧美性video| 亚洲小说欧美另类社区| 懂色aⅴ精品一区二区三区| 少妇毛片一区二区三区| 国产在线高清理伦片a| 日韩一卡二卡在线| 国产伦精品一区二区三区千人斩| 色婷婷一区二区三区在线观看| 国产亚洲精品美女久久久| 99久久婷婷国产一区二区三区| 欧美一级片网址| 色婷婷一区二区三区av免费看| 欧美白人最猛性xxxxx| 精品国产一区二区三区在线观看| 久久国产精品色av免费看| 国产蜜臀在线| 亚在线播放中文视频| 亚洲一区在线观看视频| 少妇高潮大叫好爽喷水| 久久丫精品国产亚洲av不卡| 欧美中文字幕精在线不卡| 91精品欧美一区二区三区综合在| 久久精品国产一区二区三区不卡| 久久视频免费在线播放| 日韩av在线免费| av一级亚洲| 国产精品视频区| 欧美最猛性xxxxx亚洲精品| 亚洲欧美另类综合偷拍| 久久亚洲国产成人精品性色| 四虎精品影院在线观看视频| 欧美日韩国产小视频| 久久国产精品99久久久久久老狼| 麻豆传媒在线完整视频| 国产高清精品在线观看| 欧美成人嫩草网站| 3d动漫成人在线| 中文字幕22页| 黄色毛片免费| 久久先锋影音av鲁色资源| 国产精品v日韩精品v在线观看| 久久精品女人天堂av免费观看| 亚洲黄色在线观看| 9色porny| www.香蕉视频| 无码人妻精品一区二区蜜桃网站| 色悠久久久久综合先锋影音下载| 久久大胆人体| 亚洲九九爱视频| 国产综合婷婷| 欧美一级欧美三级在线观看| 成人国产亚洲精品a区天堂华泰| 欧美凹凸一区二区三区视频| 亚洲精品黄网在线观看| 国产精品乱码一区二三区小蝌蚪| 91日韩欧美| 伊人久久大香线蕉av一区| 波多野结衣在线aⅴ中文字幕不卡| 久久国产精品国产精品| 日本韩国欧美超级黄在线观看| 开心九九激情九九欧美日韩精美视频电影| 精品视频二区三区| fc2ppv国产精品久久| 国产精品色一区二区三区|