java接口返回map集合数据;前端ajax获取,遍历时无序

6 篇文章 0 订阅
5 篇文章 0 订阅

因业务需求,在同一张表格中,将地区、全国业务数据 按年份分组统计,将相同年份的数据组装成一条数据在表格中对比显示。效果图如下:

当前地区

全国

年度

季度

成交额

净利润

成交额

净利润

2019

1季度

 

 

 

 

2018

4季度

 

 

 

 

因为要求按年度倒序,我利用TreeMap做了排序处理:

//封装结果为   Map<year-finTypeCde, map<String, String>> 格式
Map<String, Map<String, String>> resultMap = new TreeMap<>(new Comparator<String>(){
    @Override
    public int compare(String o1, String o2){
        return o2.compareTo(o1);
    } //按时间倒序
});

最后将集合返回。

 

前端ajax取到的数据:接下格式如下:

 

前端ajax取到数据后,遍历代码:

 

实际展示效果始终是按年份正序。

 

后来,在后台将map集合遍历封装到了list集合,问题解决。

 

回想了下排序无效的原因:

首先,无论后台是那种集合,前端js取到的都是json数据。而json要么是对象,要么就是对象数组。

然后,Map返回到前端是一个json对象,对象是按属性取值的,key就相当于对象的属性,有什么可以为属性排序吗??

list返回到前端是json对象数组,数组是按下标有序的。下图list集合返回的格式:

 

所以,前端需要排序的话,后端必须返回json数组。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值