// 这是后台数据var dataSource = [{"saturday": 2764,"project": "过店人次","thursday": 3389,"sum": 18958,"sunday": 2364,"tuesday": 2945,"wednesday": 3452,"friday": 1398,"monday": 2646},{"saturday": 17,"project": "环比上周","thursday": 73,"sum": 205,"sunday": 9,"tuesday": 48,"wednesday": 54,"friday": -39,"monday": 43},{"saturday": -36,"project": "对比今年均值","thursday": -21,"sum": -261,"sunday": -45,"tuesday": -32,"wednesday": -20,"friday": -68,"monday": -39},{"saturday": "296 (17 - 18点)","project": "过店峰值1","thursday": "326 (10 - 11点)","sum": 2348,"sunday": "297 (9 - 10点)","tuesday": "314 (17 - 18点)","wednesday": "352 (8 - 9点)","friday": "435 (8 - 9点)","monday": "328 (18 - 19点)"},{"saturday": "289 (8 - 9点)","project": "过店峰值2","thursday": "325 (9 - 10点)","sum": 2052,"sunday": "236 (8 - 9点)","tuesday": "284 (8 - 9点)","wednesday": "299 (10 - 11点)","friday": "298 (17 - 18点)","monday": "321 (17 - 18点)"},{"saturday": "285 (9 - 10点)","project": "过店峰值3","thursday": "298 (8 - 9点)","sum": 1866,"sunday": "219 (12 - 13点)","tuesday": "260 (9 - 10点)","wednesday": "297 (11 - 12点)","friday": "272 (9 - 10点)","monday": "235 (10 - 11点)"}]// 想要的data var newData = [// 周一就是每个对象里的monday// key可以自定义的英文唯一值{'日期': '周一','过店人次': 2646,'环比上周': 43,'对比今年均值': -39,'过店峰值1': "328 (18 - 19点)",'过店峰值2': "321 (17 - 18点)",'过店峰值3': "235 (10 - 11点)"},// 以此类推 周二tuesday 周二就是每个对象里面的tuesday的{'日期': '周二 ','过店人次': 2646,'环比上周': 43,'对比今年均值': -39,'过店峰值1': "328 (18 - 19点)",'过店峰值2': "321 (17 - 18点)",'过店峰值3': "235 (10 - 11点)"},//... 34 5 6 7 合计]// 函数 
    //方法1
let mapData = new Map([["monday", "周一"],["tuesday", "周二"],["wednesday", "周三"],["thursday", "周四"],["friday", "周五"],["saturday", "周六"],["sunday", "周日"]])let mapData1 = new Map([["周一", "1"],["周二", "2"],["周三", "3"],["周四", "4"],["周五", "5"],["周六", "6"],["周日", "7"],["合计", "8"],])function changeAir(params) {let temp = params.projectreturn temp}for (const key in dataSource[0]) {mapData.get(key) && newData.push({'日期':key})}dataSource.forEach((item,index)=>{let temp = changeAir(item)newData.map(i=>{i[temp] = item.projectif(item.project === temp){i[temp] =  item[i['日期']]}})})newData.map(item=>{item.dataName = mapData.get(item['日期'])item.enData = item['日期']item.sort = mapData1.get(item.dataName)delete item['日期']})console.log(newData)
//方法2var daobulArr = ['过店人次', '环比上周', '对比今年均值', '过店峰值1', '过店峰值2', '过店峰值3']dataSource.map((item) => {if (item.project === '过店人次') {delete item.projectfor (let keys in item) {dataArrs.push({outTotal: item[keys],dataName: test(keys).dataName,enData: keys,sort: test(keys).sort})}} else {daobulArr.map((info) => {if (item.project === info) {for (let keys in item) {dataArrs.map((fun) => {fun[`${info}`] = item[fun.enData]})}}})}})function test(key) {let contObj = {dataName: '',sort: 0}switch (key) {case 'monday':contObj.dataName = '周一'contObj.sort = 1break;case 'tuesday':contObj.dataName = '周二'contObj.sort = 2break;case 'wednesday':contObj.dataName = '周三'contObj.sort = 3break;case 'thursday':contObj.dataName = '周四'contObj.sort = 4break;case 'friday':contObj.dataName = '周五'contObj.sort = 5break;case 'saturday':contObj.dataName = '周六'contObj.sort = 6break;case 'sunday':contObj.dataName = '周日'contObj.sort = 7break;case 'sum':contObj.dataName = '合计'contObj.sort = 8break;default:break;}return contObj}

js 表格数据处理横向变纵向数据相关推荐

  1. oracle数据库纵向转横向,复杂SQL语句实现表中数据横向变纵向问题求解

    想要实现如下结果说明如下: 以id1,id2过滤前提,根据kind把数据进行处理, 当kind=1时,name2,age2置空 当kind=2时,name1,age1置空 说明:数据的id1,id2相 ...

  2. html列表横向变纵向,word横向表格变竖向 word文档怎么把横向表格变成竖向

    word文档的表格 竖向怎么变成横向 word中表格无法直接将表格变成横向的,但是可以将word的纸张变成横向. 具体操作如下: 第一步:将光标定位在有表格的那页,然后点击文件,选择页面设置: 第二步 ...

  3. html列表横向变纵向,手机版利用 CSS 将横向表格转换成竖向列表显示

    假如一个表格有很多列,那么在手机版显示时,就不是很好查看(因为表格太宽),换一种思路,看看下面的效果: 完全不用改动 HTML,纯 CSS 即可实现,代码如下: .gridView { width:2 ...

  4. Mysql 横向数据表变纵向数据表

    今天碰到一个有趣的题目,这真熬人啊,脑思路没写注释前,间接性宕机 n次. 如图: 看一下,是不是凭借多年(7year+)的经验,是不是很简单? 真的有那么简单吗? 是的,就是有那么简单,只是花费了我1 ...

  5. 给表格加上横向、纵向滚动条并对滚动条进行美化

    本文demo基于vue开发,可以根据自己的框架整理,本demo满足以下几点 1.表格横向纵向都有滚动条: 2.滚动条美化: 3.固定列设置,本demo固定列举例为第一列: <template&g ...

  6. matlab struct结构体变量 横向和纵向数据 (1xn) 和(nx1)

    clear clc close all m=10; for i=1:9     case1{i,1}=strcat('myfile',num2str(i)); % 创建结构体数据  ,分为name和d ...

  7. html div 横向变纵向,css怎么把纵向排列变成横向

    有两种方法可以将纵向列表转变成横向列表.使用内联(inline)或浮动(float)的列表项. 这两种方法都很好,但如果你想链接到具有相同的大小,你必须使用浮动的方法. 内联列表项 建立一个横向导航栏 ...

  8. html5文字横向变纵向,HTML 改变文字方向

    js函数前面写上分号的原因 说个之前先说,网站上传一些文件,考虑到性能问题,会用一些压缩软件来压缩代码(grunt,glup,webpack,etc..),这时候就可能出现一个问题.看下面代码 (fu ...

  9. html5文字横向变纵向,使用writing-mode让文字竖向排版

    通常我们网页上的文字在缺省状况下是从左到右横向排版的,但有些情况下,为了排版效果,或为了更好的利用页面空间,我们需要将文字竖向排版.以前有一种很土的方法,就是让文字的容器只有一个文字的宽度,挤的文字竖 ...

最新文章

  1. mysql max_allowed_packet 参数 限制接受的数据包大小
  2. FastCGI模块(FastCGI)
  3. 关于SQL Server
  4. 【转】子网划分实例与讲解
  5. 【甘道夫】Hadoop2.2.0 NN HA具体配置+Client透明性试验【完整版】
  6. MapReduce太慢了,记一次对它的调优建议。
  7. oracle 运营维护_oracle运维(持续更新)
  8. Python打印A~Z的26个字母,你会怎样打印?
  9. Luogu 1941 【NOIP2014】飞扬的小鸟 (动态规划)
  10. 升级openssh版本
  11. oracle数据库导入表空间,oracle数据库表空间创建导入导出
  12. 服务器数据恢复过程(服务器数据恢复通用方法)
  13. 第十二章 项目采购管理第六版
  14. word编辑中空格变成灰点
  15. 图像处理(十一)高斯差分算法(边缘检测)
  16. 到底是加瓦好还是C好呢?
  17. 洛谷P1251 餐巾计划问题 无汇源最小费用流
  18. cmd黑客入侵命令大全
  19. 2020年全球及中国自动化设备发展现状及市场竞争情况分析,本土企业加速布局,未来可期「图」
  20. Go语言学习、结构体

热门文章

  1. linux三大驱动类型:字符设备、块设备、网络设备
  2. 江波龙测试工程师面试
  3. Map集合遍历取值的五种方式
  4. 2021-2027全球与中国喷墨打印胶片市场现状及未来发展趋势
  5. 【JOISC 2020】【UOJ501】【LOJ3271】建筑装饰(贪心)
  6. 资源分享 | 利用机器学习进行高级MRI分析
  7. Shell编程之循环语句(for、while、until)
  8. Ubuntu重启X的方法
  9. ptrace源代码分析
  10. 面向对象五大基本原则详解