亚洲香蕉成人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ā)表

圖片精選

色视频网站在线观看| 亚洲免费观看高清完整版在线观看熊| 狠狠躁狠狠躁视频专区| 国产色a在线观看| 久久99伊人| 日韩欧美三区| 日韩欧美国产精品一区| 熟女丰满老熟女熟妇| 黄色三级电影网站| 日韩私人影院| 亚洲成成品网站| 精品人妻互换一区二区三区| 国产一区二区精彩视频| 国产亚洲午夜高清国产拍精品| 亚洲精品911| 精品欧美乱码久久久久久| 欧美日韩不卡中文字幕在线| 在线观看免费p片视频网站地址| 国产suv精品一区| 一级aaa毛片| 国内精品一区视频| 男女午夜刺激视频| 国产欧美一区二区精品久久久| 伊人亚洲福利一区二区三区| 日韩免费中文专区| 日本中文字幕片| 高清精品一区二区三区一区| 精品一区二区三区四区五区六区| 色诱视频在线观看| 日韩欧美在线播放视频| 五月婷婷开心网| 久久免费99精品久久久久久| 亚洲免费视频成人| 五月激情五月婷婷| 午夜伊人狠狠久久| 日本一区二区综合亚洲| 欧美激情一区二区三区在线| 人人干人人干人人干| 国产一区二区三区在线观看精品| 亚洲综合大片69999| 国产亚洲精品精品精品| 国产精品美乳在线观看| 亚洲女人天堂色在线7777| 亚洲va国产va天堂va久久| 亚洲国产激情av| 久久久久久成人精品| 在线观看的av| 欧美成人三级在线观看| 亚洲一级二级三级在线免费观看| 亚洲色图一区二区三区| 中文字幕丰满人伦在线| 精品久久久久99| 色狠狠桃花综合| 欧美xxxxxxxx| 国产成人a人亚洲精品无码| 国产99在线|中文| 在线观看国产精品一区| 热久久免费视频| 亚洲精品中文字幕乱码无线| 极品国产人妖chinesets亚洲人妖| 51社区在线成人免费视频| www.66久久| 中文永久免费观看| 狠狠躁天天躁日日躁欧美| 嫩草影院入口一二三| 午夜在线视频播放| 亚洲视频天天射| 麻豆一区在线观看| 狠狠久久综合婷婷不卡| 小说区图片区色综合区| 欧美激情视频二区| 欧美人与禽猛交乱配视频| 精品免费av一区二区三区| 国产suv一区二区三区88区| 免费国偷自产拍精品视频| 最近中文字幕在线| 在线视频亚洲自拍| 国产精品高清一区二区三区| 视频一区二区在线| 黑森林福利视频导航| 欧美色欧美亚洲另类| 韩国av电影免费观看| 天堂网www在线中文天堂| 中文字幕乱码视频| 国产视频福利一区| 色开心亚洲综合| 一区二区三区成人在线视频| 亚洲精品一二三四| 黄色一级片中国| 黑人中文字幕一区二区三区| 精品一区二区三区在线观看视频| 久久久久久久久久电影| 久久综合色88| 国产精品第一第二| a天堂在线观看视频| 天堂在线视频中文网| 狠狠色成人综合网图片区| 中文字幕日本三级| 电影在线高清| 国产精品免费观看| 最新天堂资源在线| 午夜精品久久久久99蜜桃最新版| 激情六月综合| 最新欧美电影| 欧美日韩美女在线观看| 欧美日本国产一区| 亚洲精品一二三**| h视频免费看| 99热这里只有精品99| 一级毛片精品毛片| 亚洲国产精品自拍视频| 男人天堂手机在线视频| 国产人妻精品一区二区三区不卡| 91片黄在线观看喷潮| 欧美贵妇videos办公室| 五月天中文字幕在线| 久久国产精品久久久久久电车| 激情欧美一区二区三区黑长吊| 欧美在线制服丝袜| jvid福利在线一区二区| 欧美a级一区二区| 无码人妻精品一区二区蜜桃网站| 亚洲自拍偷拍欧美| 欧美日韩大陆一区二区| 欧美一区二区三区精美影视| 麻豆免费在线| 午夜精品久久久久久久99| 水蜜桃久久夜色精品一区| av噜噜在线观看| 日本中文字幕成人| 欧美制服丝袜第一页| 亚洲色图网站| 色婷婷av一区二区三区在线观看| 免费在线成人| aa级大片免费在线观看| 国产精品久久无码一三区| 涩涩视频网站| 欧美一区二区三区……| 97中文字幕在线观看| 人人做人人爽人人爱| 久久综合另类图片小说| 国产精品7m视频| 一本一道久久久a久久久精品91| 国产精品影视天天线| 亚洲在线观看视频网站| av超碰在线| a级影片在线观看| 日韩午夜电影av| 影音先锋中文一区| 欧美一区二区在线视频观看| 中文字幕中文在线不卡住| 成年在线观看视频| 久久免费视频在线| 国产精品一区二区在线看| 欧美xxx性| 久久99久久人婷婷精品综合| 国色天香2019中文字幕在线观看| 国产精品黑丝在线播放| 91丨国产丨九色丨pron| 国产精品av在线| 五月天婷婷丁香网| 欧美日韩综合久久| eeuss国产一区二区三区四区| 精品国产xxx| 噜噜噜天天躁狠狠躁夜夜精品| 国产伦精品一区二区三区免费迷| 亚洲国产91视频| 久久久国产免费| 国产青青草视频| 色综合天天色| 中文字幕第15页| 色愁久久久久久| 天堂av2020| 成年永久一区二区三区免费视频| 99视频热这里只有精品免费| 国产精品91xxx| 麻豆网在线观看| 麻豆精品视频在线原创| 日韩av在线免费观看| 欧美国产中文字幕| 日韩一二三四区| 男人天堂手机在线| 91精品国产免费久久综合| 亚洲黄色小视频在线观看| 国产精品成人观看视频国产奇米| 日韩精品免费视频| 超碰在线人人| 国产精品每日更新| 欧美三级蜜桃2在线观看| 台湾无码一区二区| 一区二区欧美久久| 欧美高清不卡| 国产精品福利电影| 亚洲区成人777777精品| 黑人狂躁日本妞一区二区三区| 人妻中文字幕一区二区三区| 国产真实的和子乱拍在线观看| 毛片一区二区三区| 国产成人午夜精品5599| 337p亚洲精品色噜噜| 毛葺葺老太做受视频| 国产精品日韩在线观看| 日本一区二区三区四区高清视频| 色天下一区二区三区| 豆国产97在线 | 亚洲| 久久综合久久久久88| 国产精品视频第一区| 无码专区aaaaaa免费视频| 亚洲一区二区三区综合| 久久精品72免费观看| 日韩欧美中文一区二区| 久久综合免费视频影院| 美女免费黄色| 水蜜桃一区二区三区| 国产精品传媒麻豆hd| 国产欧美一区二区精品性色超碰| 26uuu另类亚洲欧美日本一| 成人黄色一级视频| 91精品国产一区| 日韩精品中文字幕在线不卡尤物| 日韩三级视频中文字幕| 黄在线观看网站| youjizz在线视频| 亚洲日本一区二区三区在线不卡| 久久综合另类图片小说| 一区二区三区激情视频| 欧美精品中文字幕一区二区| 26uuu精品一区二区在线观看| 精品久久久久久综合日本| 在线播放性xxx欧美| 99热这里只有精品2| 亚洲精品ww久久久久久p站| 激情久久久久久| 天堂精品高清1区2区3区| 国产精品一区二区在线观看不卡| 亚洲一区二区三区四区在线| 性做久久久久久久| 日韩精品电影在线观看| 国产伦精品一区二区三区免费迷| 精品少妇人欧美激情在线观看| 亚洲高清影视| 久久大胆人体| 老汉色影院首页| yiren22亚洲综合伊人22| 精品人妻一区二区三区含羞草| 色噜噜国产精品视频一区二区| 国产成人免费9x9x人网站视频| 中文字幕观看视频| 宇都宫紫苑在线播放| 7777免费精品视频| 日韩av综合在线观看| 国产伦精品一区二区三区视频青涩| 久久精品色播| heyzo在线欧美播放| 妞干网在线观看| 欧美成熟毛茸茸复古| 3d成人h动漫网站入口| 一级黄色免费| 中文字幕在线免费专区| 伊人国产视频| 国产精欧美一区二区三区| 久久香蕉综合色一综合色88| 欧美国产国产综合| 91精品国产综合久久小美女| 亚洲精品在线观看91| 日韩欧美在线免费| 国产精品免费麻豆入口| 成人免费视频网站入口| 欧美午夜在线一二页| 古装做爰无遮挡三级聊斋艳谭| 91成人国产在线观看| 免费在线观看的毛片| 国产日韩一区欧美| 精品国产九九九| 欧美大片顶级少妇| 欧美一区二区三区粗大| 免费黄色网址网站| 五月天婷婷视频| 日韩中文字幕视频在线| 亚洲午夜精品在线观看| 天堂成人在线观看| 国产美女视频免费观看下载软件| 欧美日韩免费一区二区| 麻豆一区产品精品蜜桃的特点| 美女一区二区在线观看| 国产大片精品免费永久看nba| 丰满少妇又爽又紧又丰满电影| 中文字幕在线永久在线视频2020| 精品一区二区免费| 亚洲欧美999| 91精彩视频在线播放| 爱爱视频网站| 亚洲精品久久久久久一区二区| 欧美黄色高清视频| 色综合天天天天做夜夜夜夜做| 国产精品中文久久久久久久| 成人动漫一区二区在线| 日韩在线伦理| 三级网站在线播放| 中文字幕在线观看91| 色哺乳xxxxhd奶水米仓惠香| 精品熟妇无码av免费久久| 性欧美超级视频| 久久久人人爽| 亚洲人体在线| 国产精品免费一区二区三区都可以| 日韩女优制服丝袜电影| 日韩国产精品久久久| 日韩av综合网站| 久久不卡日韩美女| 国产欧美精品在线播放| 国产专区一区二区三区| 欧美黄色a视频| 成人一级片网址| 人人做人人爽| 欧美剧情电影在线观看完整版免费励志电影| 亚洲人成伊人成综合网小说| 亚洲国产日韩在线观看| 秋霞影视一区二区三区| 宅男噜噜噜66国产免费观看| 亚州av中文字幕在线免费观看| 久久人人超碰| 中文字幕乱码在线| 蜜臀精品久久久久久蜜臀| 亚洲乱码国产乱码精品精的特点| 久99九色视频在线观看| 高清孕妇孕交╳╳交| 天天天天天操|