遇到了一个后台返回LinkedHashMap到前台顺序不正确的问题
版本:renren-fast |
开发环境:firefox |
为满足页面展示需要,后台返回来了一个 LinkedHashMap<String, String[]>, key 是一个日期字符串,value 是一个值数组,
例如:{“2017-12-01”: [1, 2, 3], “2016-12-01”: [1, 2, 3], “2015-12-01”: [1, 2, 3]},日期是按倒序排列的,此 map 直接放在 R 中返回前台。
开始时显示顺序一切正常,后来业务提出了新的需求,日期不是固定展示成 yyyy-MM-dd 的格式,有时会展示成 yyyy-MM 或者 yyyy 的格式。
重点来了:
当日期格式是 yyyy-MM-dd 或者 yyyy-MM 时,展示顺序都是正常的,和后台完全一致。但是格式为 yyyy 时,返回前台后,顺序却从倒序变成了正序。
后台 {“2017”: [1, 2, 3], “2016”: [1, 2, 3], “2015”: [1, 2, 3]} 的数据,到了前台变成了 {“2015”: [1, 2, 3], “2016”: [1, 2, 3], “2017”: [1, 2, 3]}
key 都是String格式,而且可以确定一返回回去顺序就变了,而且只是key为年份时顺序不对。
此问题非常诡异,请帮忙定位一下原因,谢谢。