JavaScript對JSON數組簡單排序操作示例

這篇文章主要介紹了JavaScript對JSON數組簡單排序操作,結合實例形式分析了javascript使用sort()方法針對json數組元素排序的相關操作技巧與注意事項,需要的朋友可以參考下

本文實例講述了JavaScript對JSON數組簡單排序操作。分享給大家供大家參考,具體如下:

我們經常回使用到數據格式

var arr=[{num:1},{num:3},{num:2}]

如何根據數組裏面的JSON數據的某個key進行排序

javascript有一個sort()方法,直接通過 arr.sort()進行排序,默認只對數組的值進行排序,然而以上的數組的值卻是個JSON格式的。

我們在看看sort方法的定義:

定義和用法

sort() 方法用於對數組的元素進行排序。

語法

arrayObject.sort(sortby)

參數 描述
sortby 可選。規定排序順序。必須是函數。

返回值

對數組的引用。請注意,數組在原數組上進行排序,不生成副本。

說明

如果調用該方法時沒有使用參數,將按字母順序對數組中的元素進行排序,說得更精確點,是按照字符編碼的順序進行排序。要實現這一點,首先應把數組的元素都轉換成字符串(如有必要),以便進行比較。

如果想按照其他標準進行排序,就需要提供比較函數,該函數要比較兩個值,然後返回一個用於說明這兩個值的相對順序的數字。比較函數應該具有兩個參數 a 和 b,其返回值如下:

若 a 小於 b,在排序後的數組中 a 應該出現在 b 之前,則返回一個小於 0 的值。
若 a 等於 b,則返回 0。
若 a 大於 b,則返回一個大於 0 的值。

所以重點在於sortby這個參數的規則。根據以上的說明我們可以創建一個規則函數

var arr=[{num:1},{num:3},{num:2}]
function newSort(x,y)
{
return x.num-y.num;
}
console.log(arr.sort(newSort));//完成排序,如果JSON裏面的不是數字,則需要在newSort裏面做一下處理
//比如:如果num的值是_1而不是數字1 則 return x.state.substr(1,1)-y.state.substr(1,1);

這裏使用在線HTML/CSS/JavaScript代碼運行工具http://tools.jb51.net/code/HtmlJsRun測試上述代碼,可得到如下運行結果:

PS:關於json操作,這裏再爲大家推薦幾款比較實用的json在線工具供大家參考使用:

在線JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.jb51.net/code/json

JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat

在線XML/JSON互相轉換工具:
http://tools.jb51.net/code/xmljson

json代碼在線格式化/美化/壓縮/編輯/轉換工具:
http://tools.jb51.net/code/jsoncodeformat

在線json壓縮/轉義工具:
http://tools.jb51.net/code/json_yasuo_trans

更多關於JavaScript相關內容可查看本站專題:《JavaScript中json操作技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章