js 中 json对象数组按对象属性排序(升序/降序、属性值是数字/字母)

5 篇文章 0 订阅
订阅专栏

当对象属性值是数字时:

升序

// json数组
var result=[
      {id:1,name:'中国银行'},
      {id:3,name:'北京银行'},
      {id:2,name:'河北银行'},
      {id:10,name:'保定银行'},
      {id:7,name:'涞水银行'}
    ]
 
// 从小到大 升序排序
function sortIdAsc(a,b){
	return a.id-b.id  
}
result.sort(sortIdAsc);
console.log(result); 

结果是:
升序排列

降序

// json数组
var result=[
      {id:1,name:'中国银行'},
      {id:3,name:'北京银行'},
      {id:2,name:'河北银行'},
      {id:10,name:'保定银行'},
      {id:7,name:'涞水银行'}
    ]
 
// 从大到小 降序排序
function sortIdDesc(a,b){  
   return b.id-a.id
}
result.sort(sortIdDesc);
console.log(result); 

结果是:
降序排列


此时你一定想到了 js 的 reverse() 函数,它也可以对数组进行翻转,颠倒其元素的顺序。
但是reverse函数只是单纯的颠倒元素顺序,并不能达到我们想要的排序。

去浏览器的控制台简单验证一下:
reverse函数的执行效果

注意,使用reverse函数,直接 json对象.reverse() 即可,不需要把它赋给一个变量再显示,reverse直接就把原数组翻转了元素顺序。

上面的demo 直接打印 result2 ,就已经是被翻转之后的样子。



当对象属性值是字母时:

升序

let arr = [{
          code: 'b'
        }, {
          code: 'd'
        }, {
          code: 'a'
        }, {
          code: 'c'
        }]
        
// a~z 正序排序,如果是大写字母要排序,return之前先转成大写。
const sortIdAsc = (a, b) => {
   return (a.code < b.code) ? -1 : (a.code > b.code) ? 1 : 0;
}
arr.sort(sortIdAsc);
console.log(arr);

浏览器控制台结果是:
sort 字母 a~z 升序

javascript 对象数组根据对象object key的排序
10-24
本文仅仅是实现了javascript 对象数组根据对象object key的排序,算是对自己学习javascript这么久的一个小结,希望大家能够喜欢
json对象数组对象属性排序
weixin_34075268的博客
01-08 144
var array = [ {name: 'a', phone: 1, value: 'val_4'}, {name: 'b', phone: 5, value: 'val_3'}, {name: 'd', phone: 3, value: 'val_2'}, {name: 'c', phone: 4, value: 'val_1'} ] array...
JSON格式数据根据某个属性进行排序
QinQinSmile的博客
01-07 1489
JSON格式数据根据某个属性进行排序(倒序) [ { "data": [ { "name": "一致", "vlaue": "1" }, { "name": "不一致", "vlaue": "2" }, { "name": "不评价", "vlaue": "2" }, { "name": "一致率", "vlaue": "20" } ], "name": "上海", "id":
JsJSON对象排序
shadow_yi_0416的博客
12-15 3754
众所周知,json对象是没有顺序的。只有数组才有排序功能。 但我们遇到的业务场景里面,不仅仅需要对数组排序,也有需要对对象排序的情况。 例如下面这种数据: let data = {zhangsan: {age: 18, height: 189}, lisi: {age: 18, height: 175}} 此时如果对这种数据排序。 可以这样写: let data = {zhangsan: {age: 18, height: 189}, lisi: {age: 18, height: 175
JSON属性排序&转换
每天记录一点点,20181220回头看看是什么样
10-12 5113
1.json按照自己添加的先后顺序进行排序 JSONObject object = new JSONObject(); object.put("aaa", 111); object.put("bbb", 222); object.put("ccc", 333); object.put("ddd", 444);
JSON数组对象属性名称数据从大到小排序
最新发布
MWNGTAIQI的博客
03-07 507
/ 假设我们想要根据 ' carbohydrate ' 属性排序。方法:用JavaScript的arr.sort()数组排序法,console.log(‘排序后的新数组’, newArr);按照字符串的Unicode码点顺序对数组元素进行排序。如果结果为负数(a大于b),那么。如果结果为正数(b大于a),"name":"鸡蛋",
基于JavaScript实现Json数据根据某个字段(json的某个属性)进行排序
wdhhxbb的博客
06-01 4702
在实际开发,有一种需求是当前台获取后台传过来的json数据时,比如,需要按照json数据查询的某个属性(某个字段)进行排序,好比,我需要显示某个事项要按照第1阶段、第2阶段等等以此类推的显示。我的json查询到数据对应的阶段和阶段内容,那么如果我不进行任何处理,那么显示的时候,遍历josn数据显示,数据显示出来就不能按照顺序进行显示,所以我们必须对json数据进行一个排序后再进行输出。其
JS实现json对象数组对象属性排序操作示例
01-19
本文实例讲述了JS实现json对象数组对象属性排序操作。分享给大家供大家参考,具体如下: 在实际工作经常会出现这样一个问题:后台返回一个数组有i个json数据,需要我们根据json某一项进行数组的排序。 例如...
JS实现根据数组对象的某一属性排序操作示例
12-10
本文实例讲述了JS实现根据数组对象的某一属性排序操作。分享给大家供大家参考,具体如下: 根据数组对象的某一属性排序 var newArray = [{ name: "aaa", value: 0 }, { name: "ddd", value: 3 }, { name: ...
javascriptjson对象json数组json字符串互转及取方法
11-29
今天用到了json数组和json对象json类型字符串之间互转及取,记录一下: 1.json类型的字符串转换为json对象及取 var jsonString = '{"bar":"property","baz":3}'; var jsObject = JSON.parse(jsonString); //...
JS实现:数组json对象,按某个字段来进行字母排序
Whuiry的博客
11-29 947
记录一下,有问题欢迎指出~! 1.定义排序的函数 function sortList(arr,flag){ return arr.sort((a,b) => { return a[flag].localeCompare(b[flag]) }) } 2.举例 // 假设要处理的数据格式如arr一样 const arr = [{level:'A'},{level:'C'},{level:'F'},{level:'B'}] // 执行方法 sortList(arr,'level') // 返
nodejsjson数据根据字段排序
学习小组
01-17 2101
本质上来说,json也是一个数组,只是数组的每个成员是一个object类型,对json数据进行排序,可根据每个object成员的固定字段进行排序。 //声明object对象并赋 var obj = { name:"猪八戒", age:13, gender:"男", test:{name:"沙僧"} }; //声明新的object对象,并赋 var obj = new Object(); obj['name'] = '猪八戒'; obj['age'] = 13; con
JSONObject转List按照特定属性排序并生成对应排名
qq_24192465的博客
11-24 1万+
1、效果图 2、核心代码 List stu = JSONObject.parseArray(jStuScores.toJSONString(), StuScore.class); // JSONObject.parseArray(jStuScores.toJSONString(), StuScore.class); Collections.sort(stu, ne
JSON集合 某个键进行升序/降序排列
星辉Johnson的博客
09-07 1127
$(document).ready(function () { //对json进行降序排序函数 var colId="age" var desc = function(x,y) { return (x[colId] &lt; y[colId]) ? 1 : -1 } //对json进行升序排序函数 ...
JSON 对象key排序
热门推荐
黄彪博客
07-15 1万+
文章目录思路案例:面向过程的demojson对象key排序函数封装 思路 使用Object.key()获取所有的keys 利用Array.sort()函数对keys排序 创建一个新的对象,循环遍历排序后的keys,重新添加 案例:面向过程的demo var contacts = {&quot;M&quot;:[{&quot;firstName&quot;:&quot;Matti&quot;,&quot;lastName&quot;:&amp
JSON 通过两个字段来排序
bossxu_的博客
04-15 1929
var sorted = data.sort(function(a, b) { //先排序a 字段 然后排序b 字段 const first = a.a - b.a; if (first !== 0) { return first; } ...
JavaScript:JSON数组根据属性排序
DamianGao的博客
09-05 1458
JavaScript:JSON根据属性排序
json对象数组 sql 统计对象某个属性 出现的次数
06-13
你可以使用SQL的聚合函数和子查询来实现这个需求。假设你的JSON对象数组存储在名为 `table` 的表,且属性存储在名为 `property` 的列,你可以使用以下SQL语句来统计每个属性出现的次数: ``` SELECT property, COUNT(*) as count FROM ( SELECT JSON_EXTRACT(json_column, '$.property') as property FROM table ) as subquery GROUP BY property ``` 这个查询语句首先使用 `JSON_EXTRACT` 函数从 `json_column` 字段提取出 `property` 属性,然后在内部子查询进行统计。最后在外部查询使用 `GROUP BY` 对 `property` 属性进行分组,并使用 `COUNT` 函数计算每个属性出现的次数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • antd的form表单自定义验证validator的注意事项 22036
  • Charles设置代理&手机和浏览器抓包 16722
  • vue中手机端点击手机键盘的完成 / 搜索按钮触发文本框搜索 13982
  • babel编译ES6报错Cannot find module ‘core-js/modules/web.dom-collections.iterator.js‘ 7611
  • antd的form组件在form标签外触发验证 6782

分类专栏

  • uni-app 1篇
  • Nginx
  • 地图
  • 支付宝小程序
  • React 专栏 3篇
  • Vue 专栏 7篇
  • css3 & scss & sass & less 2篇
  • 微信小程序 & 微信公众号 1篇
  • JavaScript 专栏 5篇
  • 前端抓包 & 代理 1篇
  • node & express & ejs & koa 1篇
  • Element UI 2篇
  • Ant Design UI 2篇
  • Webpack 1篇
  • git
  • 编辑器
  • Echarts & 可视化图表

最新评论

  • vue中手机端点击手机键盘的完成 / 搜索按钮触发文本框搜索

    Niceobject: 点击搜索后怎么,把软键盘隐藏(相当于失焦)

  • antd+moment.js限制rangePicker组件可选择的日期范围

    Lofan.: let dateRange=[moment,moment] // dateRange?.[0] dateRange?.[1] 不就是开始、结束时间

  • antd+moment.js限制rangePicker组件可选择的日期范围

    shijian_82475: 最后打印出来时间格式是[moment,moment] 怎么处理啊

  • antd+moment.js限制rangePicker组件可选择的日期范围

    Cookie★: 解决了,谢谢

  • antd的form表单自定义验证validator的注意事项

    biubiubiupiupiupiu: 蟹蟹大佬!困扰了好久表情包

大家在看

  • Nginx基础配置 1134
  • vue中pinia的使用
  • [NOIP1998 提高组] 拼数
  • Java数据结构与算法(爬楼梯动态规划) 355
  • qt+ffmpeg实现视频转码功能(亲测好用) 1

最新文章

  • npm install的时候报错ERROR: Failed to set up Chromium r901912! Set “PUPPETEER_SKIP_DOWNLOAD“ env variabl
  • ElementUI的Table组件行合并上手指南
  • javascript 访问器属性创建的三种方式
2024年1篇
2023年3篇
2022年4篇
2021年2篇
2020年9篇
2019年9篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

两个鬼故事我的邻居民是exo第三集qq英雄岛官网金刻羽事件是什么鞍山起名谁家好学校的起名易姓男小孩起名mkvmergegui佳开头起名1oz等于多少ml女孩起叠字小名房产按揭生鲜超市起哪个名字好如何起个好名字最强弃少笔趣阁年宝宝起名大全猪宝宝小孩起小名神幻之恋2.1a非主流伤感颓废图片新乌龙女校黄起名中央8频道节目表天官赐福动漫在线观看气冲星河适合用来起名字得诗词公司域名起名费起名字梦回大清txt属鼠人起名子工作室字取名起名大全给姓贾的女儿起个名少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

两个鬼故事 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化