當前位置:成語大全網 - 書法字典 - 如何用JS實現json對象數組按對象屬性排序

如何用JS實現json對象數組按對象屬性排序

這壹次,我將為您帶來如何使用json按照對象屬性對json對象數組進行排序。使用JSON按對象屬性對JSON對象數組排序有什麽註意事項?下面是壹個實際案例。讓我們來看看。

在實際工作中,經常會遇到壹個問題:後臺返回的壹個數組中有I個json數據,我們需要根據json中的壹個條目對數組進行排序。

例如,返回的數據結構如下所示:

{

結果:[

{id:1,名稱:'中國銀行' },

{id:3,名稱:'北京銀行' },

{id:2,名稱:'河北銀行' },

{id:10,名稱:'保定銀行' },

{id:7,名稱:'淶水銀行' }

]

}現在根據業務需要,按照id的大小排序,將數組的順序從id小的json重新排列到id大的json。

在js中添加排序方法:

這裏使用了JavaScript sort()方法。首先解釋壹下排序方法。

語法:arrayObject.sort(sortby)

Sortby:可選,指定排序順序。壹定是函數。

如果不帶參數調用該方法,數組中的元素將按字母順序排序,或者更準確地說,按字符編碼的順序排序。要實現這壹點,您應該首先將數組的所有元素轉換為字符串(如果需要的話)以便進行比較。

如果希望按其他標準排序,需要提供壹個比較函數,該函數比較兩個值,然後返回壹個數字來解釋這兩個值的相對順序。比較函數應該有兩個參數,a和b,其返回值如下:

如果A小於B,在排序後的數組中A應該出現在B之前,返回小於0的值。

如果a等於b,則返回0。

如果a大於b,則返回大於0的值。

讓我們開始使用sort(sortby)對此進行排序,並將其打印到控制臺:

函數sortId(a,b){

返回a.id-b.id

}

result . sort(sortId);

console.log(結果);完整的測試樣本代碼:

& lt!DOCTYPE html & gt

& lthtml & gt

& lthead & gt

& ltmeta charset="utf-8 " >

& lttitle & gtWww.gxlcms.com JSON數組排序

& lt/head & gt;

& ltbody & gt

& lt腳本& gt

var結果= [

{id:1,名稱:'中國銀行' },

{id:3,名稱:'北京銀行' },

{id:2,名稱:'河北銀行' },

{id:10,名稱:'保定銀行' },

{id:7,名稱:'淶水銀行' }

]

函數sortId(a,b){

返回a.id-b.id

}

result . sort(sortId);

console.log(結果);

& lt/script & gt;

& lt/body & gt;

& lt/html & gt;然後檢查控制臺,排序成功:

相信看完這個案例,妳已經掌握了方法。更多精彩請關註Gxl上其他相關文章!

推薦閱讀:

vuex入門教學步驟的詳細說明

如何高級使用vuex

使用vue-admin-template優化步驟的詳細說明