js實現的json格式資料排序程式碼例項
本章節介紹一下如何實現json格式資料的排序功能,這個排序功能在很多較為複雜的效果中都有使用,比如table表格中資料排序功能也可能會用到,下面就通過程式碼例項介紹一下如何實現json格式資料的排序功能。
程式碼如下:
[JavaScript] 純文字檢視 複製程式碼var sortBy=function (filed,rev,primer){ rev = (rev) ? -1 : 1; return function (a, b) { a = a[filed]; b = b[filed]; if (typeof (primer) != 'undefined') { a = primer(a); b = primer(b); } if (a < b) { return rev * -1; } if (a > b) { return rev * 1; } return 1; } }; var obj=[ {b: '3', c: 'c'}, {b: '1', c: 'a'}, {b: '2', c: 'b'} ]; obj.sort(sortBy('b',false,parseInt)); console.log(obj);
以上程式碼實現了我們的要求,可以實現簡單的排序功能,下面介紹一下它的實現過程。
一.實現原理:
由於json格式物件也就是物件直接量是作為陣列的元素存在的,所以對json格式物件的排序總體上是使用的sort()方法,而在確定sort()函式排序規則的時候就要根據我們所確定的一些條件,比如物件的鍵b的值的大小,是否反轉順序等,具體請看程式碼註釋。
二.程式碼註釋:
1.var sortBy=function (filed,rev,primer){},此函式可以返回一個函式物件用以指定sort()函式排序規則,第一個用來規定比較的是json物件的哪一鍵的值,第二個引數用來規定是否飯反轉順序,如果為true則反轉比較順序,也就是從小打排序,第三個引數規定以比較字串比較還是以數字型別進行比較。
2.rev = (rev) ? -1 : 1,將rev設定為1或者-1,要根據rev傳遞的引數值,三元運算子,具體可以參閱三元運算子用法詳解一章節 。
3.return function (a, b){},返回一個函式物件,用作sort()函式的引數,具體可以參閱javascript sort()函式用法詳解一章節。
4.a = a[filed],函式逇引數a和b是陣列中的前後兩個json格式物件,這個就是獲取物件a的物件鍵值。
5.if (typeof (primer) != 'undefined') { a = primer(a);b = primer(b);},判斷函式是否傳遞第三個引數,因為如果引數沒有傳遞,那麼預設值是undefined,當傳遞此引數的時候,就會進行相應的型別轉換。
相關文章
- jQuery對JSON格式資料的解析例項程式碼jQueryJSON
- jQuery處理json格式資料程式碼例項jQueryJSON
- javascript實現的遍歷json資料程式碼例項JavaScriptJSON
- $.each()方法遍歷json格式資料程式碼例項JSON
- jQuery遍歷json格式資料完整程式碼例項jQueryJSON
- 原生ajax處理json格式資料程式碼例項JSON
- JSON簡單格式程式碼例項JSON
- jQuery遍歷讀取json格式資料簡單程式碼例項jQueryJSON
- js 將json字串轉換為json格式物件程式碼例項JSON字串物件
- $.each()遍歷json格式陣列程式碼例項JSON陣列
- js實現的查詢表格中的資料程式碼例項JS
- JSON.parse()程式碼例項JSON
- jquery使用each()方法遍歷json資料程式碼例項jQueryJSON
- js解析json資料例項分析JSON
- js table表格排序程式碼例項JS排序
- 將json格式物件轉換為查詢字串程式碼例項JSON物件字串
- 將表單元素轉換為json格式物件例項程式碼JSON物件
- js實現jquery的extend()程式碼例項JSjQuery
- js實現的警告框例項程式碼JS
- JSON.stringify()程式碼例項JSON
- JSON相互巢狀程式碼例項JSON巢狀
- 基於json資料格式實現的簡單資料庫——jsonDBJSON資料庫
- js時間日期排序程式碼例項JS排序
- js陣列元素排序程式碼例項JS陣列排序
- javascript實現的數字格式化程式碼例項JavaScript
- js實現的冪運算程式碼例項JS
- js實現的元素運動程式碼例項JS
- js實現的垂直選項卡效果程式碼例項JS
- JSON 資料格式JSON
- js實現的可以通用的選項卡程式碼例項JS
- js實現文字框提示程式碼例項JS
- js格式化數字例項程式碼JS
- JSON資料格式的使用JSON
- js實現的留言本效果程式碼例項JS
- js實現的div拖動效果例項程式碼JS
- js實現的文字垂直滾動例項程式碼JS
- js實現的元素抖動效果程式碼例項JS
- jQuery實現的JSONP應用程式碼例項jQueryJSON