JavaScript對(duì)JSON數(shù)組簡(jiǎn)單排序操作示例
本文實(shí)例講述了JavaScript對(duì)JSON數(shù)組簡(jiǎn)單排序操作。分享給大家供大家參考,具體如下:
我們經(jīng)?;厥褂玫綌?shù)據(jù)格式
var arr=[{num:1},{num:3},{num:2}]
如何根據(jù)數(shù)組里面的JSON數(shù)據(jù)的某個(gè)key進(jìn)行排序
javascript有一個(gè)sort()
方法,直接通過(guò) arr.sort()進(jìn)行排序,默認(rèn)只對(duì)數(shù)組的值進(jìn)行排序,然而以上的數(shù)組的值卻是個(gè)JSON格式的。
我們?cè)诳纯?code>sort方法的定義:
定義和用法
sort()
方法用于對(duì)數(shù)組的元素進(jìn)行排序。
語(yǔ)法
arrayObject.sort(sortby)
參數(shù) | 描述 |
sortby | 可選。規(guī)定排序順序。必須是函數(shù)。 |
返回值
對(duì)數(shù)組的引用。請(qǐng)注意,數(shù)組在原數(shù)組上進(jìn)行排序,不生成副本。
說(shuō)明
如果調(diào)用該方法時(shí)沒(méi)有使用參數(shù),將按字母順序?qū)?shù)組中的元素進(jìn)行排序,說(shuō)得更精確點(diǎn),是按照字符編碼的順序進(jìn)行排序。要實(shí)現(xiàn)這一點(diǎn),首先應(yīng)把數(shù)組的元素都轉(zhuǎn)換成字符串(如有必要),以便進(jìn)行比較。
如果想按照其他標(biāo)準(zhǔn)進(jìn)行排序,就需要提供比較函數(shù),該函數(shù)要比較兩個(gè)值,然后返回一個(gè)用于說(shuō)明這兩個(gè)值的相對(duì)順序的數(shù)字。比較函數(shù)應(yīng)該具有兩個(gè)參數(shù) a 和 b,其返回值如下:
若 a 小于 b,在排序后的數(shù)組中 a 應(yīng)該出現(xiàn)在 b 之前,則返回一個(gè)小于 0 的值。
若 a 等于 b,則返回 0。
若 a 大于 b,則返回一個(gè)大于 0 的值。
所以重點(diǎn)在于sortby這個(gè)參數(shù)的規(guī)則。根據(jù)以上的說(shuō)明我們可以創(chuàng)建一個(gè)規(guī)則函數(shù)
var arr=[{num:1},{num:3},{num:2}] function newSort(x,y) { return x.num-y.num; } console.log(arr.sort(newSort));//完成排序,如果JSON里面的不是數(shù)字,則需要在newSort里面做一下處理 //比如:如果num的值是_1而不是數(shù)字1 則 return x.state.substr(1,1)-y.state.substr(1,1);
這里使用在線(xiàn)HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼,可得到如下運(yùn)行結(jié)果:
PS:關(guān)于json操作,這里再為大家推薦幾款比較實(shí)用的json在線(xiàn)工具供大家參考使用:
在線(xiàn)JSON代碼檢驗(yàn)、檢驗(yàn)、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在線(xiàn)格式化工具:
http://tools.jb51.net/code/jsonformat
在線(xiàn)XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
json代碼在線(xiàn)格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat
在線(xiàn)json壓縮/轉(zhuǎn)義工具:
http://tools.jb51.net/code/json_yasuo_trans
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專(zhuān)題:《JavaScript中json操作技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JS根據(jù)json數(shù)組多個(gè)字段排序及json數(shù)組常用操作
- JS實(shí)現(xiàn)json對(duì)象數(shù)組按對(duì)象屬性排序操作示例
- json格式數(shù)據(jù)的添加,刪除及排序方法
- json數(shù)據(jù)處理技巧(字段帶空格、增加字段、排序等等)
- 基于JavaScript實(shí)現(xiàn)Json數(shù)據(jù)根據(jù)某個(gè)字段進(jìn)行排序
- JavaScript對(duì)JSON數(shù)據(jù)進(jìn)行排序和搜索
- Json按某個(gè)鍵的值進(jìn)行排序
- JSON 數(shù)字排序多字段排序介紹
- JS實(shí)現(xiàn)對(duì)json對(duì)象排序并刪除id相同項(xiàng)功能示例
- JS實(shí)現(xiàn)json數(shù)組排序操作實(shí)例分析
相關(guān)文章
js統(tǒng)計(jì)頁(yè)面上每個(gè)標(biāo)簽的數(shù)量實(shí)例代碼
這篇文章通過(guò)實(shí)例代碼給大家講解了通過(guò)js統(tǒng)計(jì)頁(yè)面上每個(gè)標(biāo)簽的數(shù)量,代碼很簡(jiǎn)單,具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-05-05關(guān)于JS數(shù)組追加數(shù)組采用push.apply的問(wèn)題
JS數(shù)組追加數(shù)組沒(méi)有現(xiàn)成的函數(shù),這么多年我已經(jīng)習(xí)慣了a.push.apply(a, b);這種自以為很酷的,不需要寫(xiě)for循環(huán)的寫(xiě)法,一直也沒(méi)遇到什么問(wèn)題,直到今天我要append的b是個(gè)很大的數(shù)組時(shí)才遇到了坑。2014-06-06JavaScript中Null與Undefined的區(qū)別解析
這篇文章主要介紹了JavaScript中Null與Undefined的區(qū)別解析,本文給出了多個(gè)代碼實(shí)例講解它們之間的區(qū)別,需要的朋友可以參考下2015-06-06JavaScript實(shí)現(xiàn)郵箱地址自動(dòng)匹配功能代碼
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)E-mail郵箱地址自動(dòng)匹配功能代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11微信小程序獲取復(fù)選框全選反選選中的值(實(shí)例代碼)
這篇文章主要介紹了微信小程序獲取復(fù)選框全選反選選中的值,本文通過(guò)實(shí)例代碼給大家簡(jiǎn)單介紹,需要的朋友可以參考下2019-12-12JavaScript中實(shí)現(xiàn)最高效的數(shù)組亂序方法
這篇文章主要介紹了JavaScript中實(shí)現(xiàn)最高效的數(shù)組亂序方法,數(shù)組亂序的意思是,把數(shù)組內(nèi)的所有元素排列順序打亂,需要的朋友可以參考下2014-10-10JS FormData對(duì)象使用方法實(shí)例詳解
這篇文章主要介紹了JS FormData對(duì)象使用方法,結(jié)合實(shí)例形式詳細(xì)分析了FormData對(duì)象的基本功能、原理及使用方法,需要的朋友可以參考下2020-02-02微信小程序使用onreachBottom實(shí)現(xiàn)頁(yè)面觸底加載及分頁(yè)效果
小程序還沒(méi)有使用pc端的那種分頁(yè)格式,下面這篇文章主要給大家介紹了關(guān)于微信小程序使用onreachBottom實(shí)現(xiàn)頁(yè)面觸底加載及分頁(yè)效果的相關(guān)資料,需要的朋友可以參考下2022-10-10