本文中,JS实现了json对象数组按对象属性排序。分享给大家参考,如下:
在实际工作中,经常会出现这样的问题:后台返回的数组中有I json数据,我们需要根据json中的一项对数组进行排序。
例如,返回的数据结构如下所示:
{result: [{id:1,名称: '中国银行' },{id:3,名称: '北京银行' },{id:2,名称: '河北银行' },{ id:10,名称: '保定银行。Name: '涞水银行' }]}现在根据业务需要,按照id的大小进行排序,将数组的顺序从小id的json重新排列到大id的json
在js中添加排序方式:
这里,我们先用JavaScript sort()方法来解释一下排序方法。
语法:arrayObject.sort(sortby)
排序依据:可选,指定排序顺序。必须是函数。
如果在没有参数的情况下调用该方法,数组中的元素将按照字符编码的顺序按字母顺序排序。要实现这一点,您应该首先将数组的所有元素转换为字符串(如果需要)进行比较。
如果要按其他标准排序,则需要提供一个比较函数,该函数比较两个值,然后返回一个数字,指示两个值的相对顺序。比较函数应该有两个参数a和b,其返回值如下:
如果A小于B,则A应该出现在排序数组中的B之前,然后返回小于0的值。如果a等于b,则返回0。如果a大于b,则返回大于0的值。
下面开始使用sortby对其进行排序,并将其打印到控制台:
函数sortId(a,b){ return a . id-b . id } result . sort(sortId);console.log(结果);完整的测试样本代码:
!doctype html heartheta charset=' utf-8 ' title www.jb51.net JSON数组排序/title/headsdyscriptvar result=[{ ID :1,名称: '中国银行' },{id33603,名称: '北京银行' },{id:2,名称: '河北银行' },{ id:10,名称: '保定银行' },{ ID :7console.log(结果);/script/body/html然后看控制台,排序成功:
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数学运算用法总结》和0103010。
希望本文对JavaScript编程有所帮助。