IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Vue中JS遍历后台JAVA返回的Map数据构造对象数组数据格式 -> 正文阅读

[JavaScript知识库]Vue中JS遍历后台JAVA返回的Map数据构造对象数组数据格式

场景

SpringBoot+Vue+Echarts实现选择时间范围内数据加载显示柱状图:

SpringBoot+Vue+Echarts实现选择时间范围内数据加载显示柱状图_BADAO_LIUMANG_QIZHI的博客-CSDN博客

上面需要后台返回Map类型的数据格式,key为时间,value为数量。

后台返回后js中怎样遍历Map数据。

注:

博客:
BADAO_LIUMANG_QIZHI的博客_霸道流氓气质_CSDN博客-C#,SpringBoot,架构之路领域博主
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

1、后台返回数据代码

??? public AjaxResult list(BusBlog busBlog)
??? {
??????? BusBlog indexModel=new BusBlog();
??????? //构造返回数据,注意这里需要用LinkedHashMap
??????? Map<String,Integer> resultMap = new LinkedHashMap<String,Integer>();
??????? if(null!= busBlog.getBeginDate() && null!= busBlog.getEndDate()) {
??????????? //获取请求参数,开始时间和结束时间
??????????? indexModel.setBeginDate(busBlog.getBeginDate());
??????????? indexModel.setEndDate(busBlog.getBeginDate());
??????????? List<String> rangeData = new ArrayList<String>();
??????????? //查询数据库获取指定时间内的数据
??????????? rangeData = busBlogService.selectBlogCountByDate(busBlog);
??????????? if (rangeData.size() >= 0) {
??????????????? // 日期格式化
??????????????? SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
??????????????? try {
??????????????????? // 起始日期
??????????????????? Date d1 = sdf.parse(busBlog.getBeginDate());
??????????????????? // 结束日期
??????????????????? Date d2 = sdf.parse(busBlog.getEndDate());
??????????????????? Date tmp = d1;
??????????????????? Calendar dd = Calendar.getInstance();
??????????????????? dd.setTime(d1);
??????????????????? while (tmp.getTime() < d2.getTime()) {
??????????????????????? int dayCount = 0;
??????????????????????? tmp = dd.getTime();
??????????????????????? //获取查询的数据每天的档案数量
??????????????????????? for (String oneDay:rangeData) {
??????????????????????????? Date oneDayDate = sdf.parse(oneDay);
??????????????????????????? if(oneDayDate.toString().equals(tmp.toString()))
??????????????????????????? {
??????????????????????????????? dayCount++;
??????????????????????????? }
??????????????????????? }
??????????????????????? resultMap.put(sdf.format(tmp),dayCount);
??????????????????????? // 天数加上1
??????????????????????? dd.add(Calendar.DAY_OF_MONTH, 1);
??????????????????? }
??????????????????? System.out.println(resultMap);
??????????????? } catch (ParseException e) {
??????????????????? e.printStackTrace();
??????????????? }
??????????? }
??????? }
??????? return AjaxResult.success(resultMap);
??? }

返回数据格式

2、前端遍历返回数据

??? this.getList().then((response) => {
????? var res = response.data;
????? if (res) {
??????? //清空柱状图的数据源
??????? this.typeData = [];
??????? //遍历后台响应数据,构造柱状图数据源
??????? for (var key in res) {
????????? this.typeData.push({ product: key, 博客数: res[key] });
??????? }
????? }
????? this.initChart(this.typeData);
??? });

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-28 11:10:38  更:2021-11-28 11:10:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 22:54:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码