国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 語言 > JavaScript > 正文

JavaScript對象數組排序函數及六個用法

2024-05-06 16:26:49
字體:
來源:轉載
供稿:網友
本文給大家分享一個用于數組或者對象的排序的函數。該函數可以以任意深度的數組或者對象的值作為排序基數對數組或的元素進行排序
 

分享一個用于數組或者對象的排序的函數。該函數可以以任意深度的數組或者對象的值作為排序基數對數組或的元素進行排序。

代碼如下:

 /**  * 排序數組或者對象  * by Jinko  * date --  * @param object 數組或對象  * @param subkey 需要排序的子鍵, 該參數可以是字符串, 也可以是一個數組  * @param desc 排序方式, true:降序, false|undefined:升序  * @returns {*} 返回排序后的數組或者對象  *  * 注意: 對于對象的排序, 如果使用console.log打印對象的顯示可能和排序結果不一致,  *  其鍵會被瀏覽器以字母順序排序顯示,但在for循環中則為正確的排序順序  */ 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) {         //數組排序         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":    } }; //根據session_online字段升序排序 data = sort_object(data, 'session_online'); for(var k in data) {   console.log(data[k]); } console.log('------------------'); //根據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": ,   } ]; //根據cpuhz_use字段進行排序 data = sort_object(data, 'cpuhz_use'); console.log(data); 

 用法3:

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

 用法4:

 var data = {'a':, 'b':, 'c':, 'd':}; //對對象進行升序排序 data = sort_object(data); //對對象進行降序排序 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的值為基礎進行升序排序 data = sort_object(data, ['l', 'l']); for(var k in data) {   console.log(data[k].l); } 

 用法6:

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

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



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

圖片精選

国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
日本成人免费网站| 日p在线观看| 欧美日韩在线资源| 999在线视频| 影音先锋中文字幕在线 | 九九热免费视频| 亚洲国产日韩成人综合天堂| 亚洲第一区视频| 国产免费av网站| 91九色在线看| 九九视频在线播放| 99热免费观看| 天天操天天射天天色| 精品99又大又爽又硬少妇毛片| 人xxxx性xxxxx欧美| 中文字幕毛片| 欧美日韩在线中文字幕| 国产高清免费av在线| 天天草天天操| 国产精品视频一区二区图片| 精品欧美色视频网站在线观看| 亚洲欧美一区二区三区在线播放| 国产在线中文字幕| 亚洲午夜久久久久中文字幕| 黄色av免费看| www狠狠操| 国产成人精品实拍在线| 男女午夜视频在线观看| 在线观看av网站| 国产精品毛片一区二区三区四区 | 亚洲综合激情六月婷婷在线观看| 导航福利在线| 欧美日韩性视频一区二区三区| 国产成人夜间影院在线观看| 黄色av网址在线免费观看| h网站久久久| 亚洲精品一区中文字幕电影| 国产福利在线视频| 中文字幕日本在线| 国产男女无套在线播放| 天天操夜夜添| 奇米影视狠狠狠| 另类专区欧美| 国产在线中文字幕| 国产免费视频在线| 国产伦精品一区二区三区高清版禁| 欧美a免费在线| 激情小说 在线视频| 久久综合精品视频| 人成在线免费视频| 国产中文字幕在线| 国产麻豆视频网站| 国产精品久久在线| 在线视频观看亚洲| 亚洲国产成人综合| 久久亚洲天堂| 国产区在线视频| 99热99re6国产在线播放| gogogo影视剧免费观看在线观看| 亚洲精品一区中文字幕电影| 欧美卡一卡二| 国产亚洲精品久久久久久移动网络 | 国产不卡精品一区二区三区| 国产区视频在线| 97在线免费| 免费特级黄毛片| 国产资源在线看| 国产极品视频| www.色婷婷| 国产网站在线免费观看| 亚洲网站一区| 国产一级二级在线| 在线观看av网站永久| 福利视频网址导航| 一区免费观看| 国产精品一二三区视频| 精品国产一区二区三区久久久狼牙| 精品一区二区观看| 国产免费福利| 男女午夜视频在线观看| 91av福利| 国产日本视频| 成人免费一区二区三区牛牛 | 亚洲成a人v欧美综合天堂麻豆| 国产乱视频在线观看| 99久热re在线精彩视频| 最近最好的中文字幕2019免费| 日韩黄色成人| 在线观看中文字幕| 中文字幕在线永久在线视频| gogogogo高清视频在线| 91www在线观看| 中文字幕第一页在线| 青青草在线免费观看| 在线观看免费观看在线91| 国产三区在线观看| 国产人成高清视频观看| 国产一级二级三级在线观看| 国产秒拍福利视频露脸| 狠狠干在线视频| 国产在线观看av| 福利视频网址导航| 国产理论电影在线| 中文字幕在线免费观看| 黄色毛片在线观看| 国产乱子伦三级在线播放| 中文字幕乱在线伦视频乱在线伦视频| 国产乱视频在线观看| 国产网友自拍视频导航网站在线观看| 国产麻豆一级片| 中文字幕在线观看播放| 国产调教视频在线观看| 国产青青视频| 中文产幕区在线观看| 日本成a人片在线观看| 青青久草在线| 成人欧美亚洲| 精品视频一二三| 在线成人综合色一区| 天天激情综合| 丁香花视频在线观看| 69日小视频在线观看| av中文资源在线| 国产一卡二卡3卡4卡四卡在线| 精品国产美女福利到在线不卡| 天海翼中文字幕| **三级三级97片毛片| 精品av中文字幕在线毛片| 久久久久国产精品嫩草影院| 国产特级淫片免费看| av天天在线| 国产一二三视频| 在线观看电影av| 日本中文字幕高清视频| 国产高清免费在线播放| www.99av| 尤物在线视频观看| 懂色av中文在线| 夜夜操com| 国产视频福利| 欧美精品小视频| 国产成人亚洲欧美电影| 国产麻豆精品入口在线观看| 亚洲国产日韩成人综合天堂| 国产精品国精产品一二| 免费中文字幕| av中文字幕在线看| 97最新国自产拍视频在线完整在线看| 国产麻豆视频| av在线官网| 精品精品导航| 91精品专区| 国产精品视频二区三区| 国产麻豆精品入口在线观看| 欧美日韩在线视频免费观看 | av免费在线播放| 国产精品入口免费麻豆| 国产麻豆视频免费观看| www在线播放| 午夜在线网站| jizz在线免费观看| 男人天堂网在线观看| 亚洲色婷婷综合开心网| 在线免费黄色毛片| 日本一二区视频| 另类综合图区| 最近免费中文字幕大全免费第三页 | 国产在线激情视频| 国产精品自拍在线观看| 国产精品一二三区视频| 国产网站观看9久| 91亚洲欧美| h网址在线观看| 成年人在线观看| 日本中文字幕在线播放| 国产午夜电影| 永久免费在线观看| 免费影视观看网站入口| 尤物在线网址| 99在线欧洲视频| 欧美xxxxx性| 国产日韩精品在线看| 精品偷拍激情视频在线观看| 日本在线天堂| 国产精品日日爱| 亚洲欧美精选| 天堂中文字幕在线| 精品久久久久一区二区三区| www.狠狠操.com| 国产一卡2卡3卡四卡网站| 国产国语**毛片高清视频| 午夜性爽视频男人的天堂| 91超碰免费在线| 亚洲精品一区中文字幕电影| 中文字幕在线观看播放| 日本免费一二区| 国产福利热线视频| 国产在线www| 性网站在线观看| 精品一区二区三区高清免费不卡|