前端处理返回数据为数组对象且对象嵌套数组并重名的数据,合并名称并叠加数据

前端处理返回数据为数组对象且对象嵌套数组并重名的数据,合并名称并叠加数据

var newList=[];
var table={};
var dataObj={};
var finalList=[];
var tableData=[{brName:'营业部',dateStr:'2023-11-23',tacheArr:[{dealCnt:'20',tacheName:'奔驰'}]},{brName:'营业部',dateStr:'2023-11-23',tacheArr:[{dealCnt:'30',tacheName:'宝马'}]},{brName:'营业部',dateStr:'2023-11-23',tacheArr:[{dealCnt:'40',tacheName:'宝马'}]},{brName:'营业部',dateStr:'2023-11-23',tacheArr:[{dealCnt:'50',tacheName:'帕萨特'}]},{brName:'营业部',dateStr:'2023-11-23',tacheArr:[{dealCnt:'60',tacheName:'法拉利'}]},{brName:'营业部',dateStr:'2023-11-23',tacheArr:[{dealCnt:'70',tacheName:'帕萨特'}]},{brName:'营业部',dateStr:'2023-11-23',tacheArr:[{dealCnt:'80',tacheName:'法拉利'}]},{brName:'营业部',dateStr:'2023-11-23',tacheArr:[{dealCnt:'90',tacheName:'奔驰'}]},{brName:'销售部',dateStr:'2023-11-23',tacheArr:[{dealCnt:'10',tacheName:'奔驰'}]},{brName:'销售部',dateStr:'2023-11-23',tacheArr:[{dealCnt:'50',tacheName:'奔驰'}]},{brName:'销售部',dateStr:'2023-11-23',tacheArr:[{dealCnt:'70',tacheName:'帕萨特'}]},{brName:'销售部',dateStr:'2023-11-23',tacheArr:[{dealCnt:'20',tacheName:'帕萨特'}]},
];
for(let i in tableData){brName=tableData[i].brName;dateStr=tableData[i].dateStr;tacheArr=tableData[i].tacheArr;if(table[brName]==null){if(tacheArr[0].tacheName=='奔驰'){table[brName]={'name':brName,'dateStr':dateStr,'val1':Number(tacheArr[0].dealCnt),'val2':0,'val3':0,'val4':0,'val5':0,}}else if(tacheArr[0].tacheName=='宝马'){table[brName]={'name':brName,'dateStr':dateStr,'val1':0,'val2':Number(tacheArr[0].dealCnt),'val3':0,'val4':0,'val5':0,}}else if(tacheArr[0].tacheName=='法拉利'){table[brName]={'name':brName,'dateStr':dateStr,'val1':0,'val2':0,'val3':Number(tacheArr[0].dealCnt),'val4':0,'val5':0,}}else if(tacheArr[0].tacheName=='布加迪'){table[brName]={'name':brName,'dateStr':dateStr,'val1':0,'val2':0,'val3':0,'val4':Number(tacheArr[0].dealCnt),'val5':0,}}else if(tacheArr[0].tacheName=='帕萨特'){table[brName]={'name':brName,'dateStr':dateStr,'val1':0,'val2':0,'val3':0,'val4':0,'val5':Number(tacheArr[0].dealCnt),}}}else{if(tacheArr[0].tacheName=='奔驰'){table[brName].val1+=Number(tacheArr[0].dealCnt)}else if(tacheArr[0].tacheName=='宝马'){table[brName].val2+=Number(tacheArr[0].dealCnt)}else if(tacheArr[0].tacheName=='法拉利'){table[brName].val3+=Number(tacheArr[0].dealCnt)}else if(tacheArr[0].tacheName=='布加迪'){table[brName].val4+=Number(tacheArr[0].dealCnt)}else if(tacheArr[0].tacheName=='帕萨特'){table[brName].val5+=Number(tacheArr[0].dealCnt)}}
}
for(key in table){newList.push(table[key])
}
for(let k=0;k<newList.length;k++){dataObj={'brName':newList[k].name,'dateStr':newList[k].dateStr,'val1':newList[k].val1,'val2':newList[k].val2,'val3':newList[k].val3,'val4':newList[k].val4,'val5':newList[k].val5,}finalList.push(dataObj)
}
console.log(finalList)

这里可以看到我们输出的结果,我们已经将重名的数据合并并且相同的数据叠加合并

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/211071.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot 整合MyBatis-Plus 详解

MyBatis-Plus (opens new window)&#xff08;简称 MP&#xff09;是一个 MyBatis (opens new window)的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。 全新的 MyBatis-Plus 3.0 版本基于 JDK8&#xff0c;提供了 lambda 形…

从零开始的C++(十九)

红黑树&#xff1a; 一种接近平衡的二叉树&#xff0c;平衡程度低于搜索二叉树。 特点&#xff1a; 1.根节点为黑 2.黑色结点的子结点可以是红色结点或黑色结点。 3.红色结点的子结点只能是黑色结点。 4.每个结点到其所有叶子结点的路径的黑色结点个数相同。 5.指向空的…

Windows Python3安装salt模块失败处理

复现CVE-2020-11651时候运行CVE-2020-11651的poc时候需要salt模块 在下载时出现了错误 尝试在网上寻找解决方法&#xff1a; 1.更新 setuptools 和 wheel pip install --upgrade setuptools wheel 2. 安装Microsoft Visual C 14.0 因为salt模块包包使用了 C/C 扩展&#x…

98年阿里P6测试猿晒出工资单,看完扎心了。。。

最近一哥们跟我聊天装逼&#xff0c;说他最近从阿里跳槽了&#xff0c;我问他跳出来拿了多少&#xff1f;哥们表示很得意&#xff0c;说跳槽到新公司一个月后发了工资&#xff0c;月入5万多&#xff0c;表示很满足&#xff01;这样的高薪资着实让人羡慕&#xff0c;我猜这是税后…

Docker 中OpenResty下载与使用

1Panel安装OpenResty 查看到就说明安装成功 部署项目 在http中添加&#xff1a; server { listen 8001; //端口号 server_name localhost; location / { root /admin; //项目路径 index index.html index.htm; …

羊大师教你如何科学控制体重,轻松瘦下来

羊大师教你如何科学控制体重&#xff0c;轻松瘦下来 我们都知道&#xff0c;控制体重对于保持健康和美丽至关重要。然而&#xff0c;许多人在减肥的道路上走得波折重重&#xff0c;常常陷入挫败和不知所措的境地。那么&#xff0c;如何科学控制体重&#xff0c;轻松瘦下来呢&a…

uview 页面跳转

uni.$u.route({url: pages/components/empty/index,params: {name: lisa}})参考&#xff1a; http://www.uviewui.com/js/route.html https://blog.csdn.net/SHUIYI_24/article/details/109201145

Android系统预装带so的apk

文章目录 前言配置新建Android.mk核心命令首次编译Apk已生成 但是无arm文件system.img 也已经更新 第一次刷入打开APP后闪退加入so文件如下为修改后的mk 第二次刷入mm报错查看手机系统abi路径下分别生成两个环境的so官方LOCAL_MULTILIB描述so打包错误验证so位数注释v7部分 第三…

【二叉树进阶题目】236. 二叉树的最近公共祖先,JZ36 二叉搜索树与双向链表

二叉树进阶题目 236. 二叉树的最近公共祖先解题思路及实现思路一思路二 JZ36 二叉搜索树与双向链表描述解题思路及实现 236. 二叉树的最近公共祖先 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个…

Android和iOS应用程序加固方法详解:混淆、加壳、数据加密、动态加载和数字签名实现

目录 Android和iOS应用程序加固方法详解&#xff1a;混淆、加壳、数据加密、动态加载和数字签名实现 APP 加固方式 iOS APP加固代码实现 打开要处理的IPA文件 设置签名使用的证书和描述文件 开始ios ipa重签名 APP 加固方式 iOSAPP 加固是优化 iOS安全性的一种方法&…

AMEYA360:瑞萨面向高端工业传感器系统推出高精度模拟前端的32位RX MCU

全球半导体解决方案供应商瑞萨电子&#xff08;TSE&#xff1a;6723&#xff09;宣布面向高端工业传感器系统推出一款全新RX产品——RX23E-B&#xff0c;扩展32位微控制器&#xff08;MCU&#xff09;产品线。新产品作为广受欢迎的RX产品家族的一员&#xff0c;具有高精度模拟前…

国内企业出海首选的免费开源订单管理系统(OMS)解决方案

用开源智造Odoo订单管理系统 (OMS) 解决方案实现"订单到收款"流程自动化 开源智造Odoo 订单管理软件功能消除了手动操作瓶颈&#xff0c;可防止出错&#xff0c;还建立了从销售报价到订单履行的顺畅工作流来确保及时开票和付款&#xff0c;从而帮助您理顺订单处理过程…