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

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

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)

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

想自学软件测试?一般人我还是劝你算了吧。。。

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;欢迎加入我们一起学习&#xff01;&#x1f4e2;资源分享&#xff1a;耗时200小时精选的「软件测试」资…

python+pytest接口自动化:token关联登录这样做,阿里p8都直呼牛逼!!!

在PC端登录公司的后台管理系统或在手机上登录某个APP时&#xff0c;经常会发现登录成功后&#xff0c;返回参数中会包含token&#xff0c;它的值为一段较长的字符串&#xff0c;而后续去请求的请求头中都需要带上这个token作为参数&#xff0c;否则就提示需要先登录。 这其实就…

如何在Linux系统上检测GPU显存和使用情况?

如何在Linux系统上检测GPU显存和使用情况&#xff1f; 在Linux系统上&#xff0c;你可以使用一些命令行工具来检测GPU显存和使用情况。以下是一些常用的方法&#xff1a; 1. 使用nvidia-smi&#xff08;仅适用于NVIDIA GPU&#xff09; 如果你使用的是NVIDIA的显卡&#xff0…

小猪优版的前世今生:从籍籍无名到行业瞩目,再到骤变的风暴中心

1. 前世&#xff1a;籍籍无名到行业新星的崛起 小猪优版在初创时期&#xff0c;并不被大众所知。然而&#xff0c;它凭借对短视频行业的深度洞察&#xff0c;以及独特的商业模式&#xff0c;开始在这个领域崭露头角。它提供了一个平台&#xff0c;不仅助力内容创作者更好地展现…

1688商品详情数据接口(1688.item_get)

1688商品详情数据接口是一种程序化的接口&#xff0c;通过这个接口&#xff0c;商家或开发者可以使用自己的编程技能&#xff0c;对1688平台上的商品信息进行查询、获取和更新。这个接口允许商家根据自身的需求&#xff0c;获取商品的详细信息&#xff0c;例如价格、库存、描述…

中医馆管理系统预约小程序效果如何

人们生活水平提升的同时&#xff0c;无论是工作压力还是自然压力&#xff0c;都给身体带来了一些损伤&#xff0c;如各科常见病、多发病、慢性病及疑难杂症等。中医具有治未病的优势&#xff0c;因此对患者而言&#xff0c;找中医诊治是一个很好的选择&#xff0c;而无论中医院…

财报解读:电商GMV增长30%后,快手将坚守本地生活?

快手逐渐讲好了其高质量成长的故事。 根据财报&#xff0c;快手三季度业绩超出预期&#xff0c;其中&#xff0c;营收279.5亿元&#xff0c;同比增长20.8%&#xff1b;调整后净利润31.7亿元&#xff0c;同比扭亏为盈。 而联系市场环境来看&#xff0c;三季度广告、电商市场较…

2 使用React构造前端应用

文章目录 简单了解React和Node搭建开发环境React框架JavaScript客户端ChallengeComponent组件的主要结构渲染与应用程序集成 第一次运行前端调试将CORS配置添加到Spring Boot应用使用应用程序部署React应用程序小结 前端代码可从这里下载&#xff1a; 前端示例 后端使用这里介…

【C语言】函数(三):为什么要有函数声明

目录 前言函数定义函数声明为什么要有函数声明原因1&#xff1a;分模块编程原因2&#xff1a;静态库文件 前言 在上文中已经介绍了函数调用&#xff0c;分为传值调用和传址调用&#xff0c;以及嵌套调用和链式访问。在本文中将介绍函数的声明和定义&#xff0c;以及为什么要有函…

使用 Pinia 的五个技巧

在这篇文章中&#xff0c;想与大家分享使用 Pinia 的五大技巧。 以下是简要总结&#xff1a; 不要创建无用的 getter在 Option Stores 中使用组合式函数&#xff08;composables&#xff09;对于复杂的组合式函数&#xff0c;使用 Setup Stores使用 Setup Stores 注入全局变量…

SQL零基础入门教程,贼拉详细!贼拉简单! 速通数据库期末考!(十二)

SUM&#xff08;&#xff09;求和函数 SUM() 函数返回数值列的总和。 语法&#xff1a; SELECT SUM(column_name) FROM table_name;column_name:字段名&#xff08;必须是数值字段&#xff09; table_name&#xff1a;表名 示例&#xff1a; 查询每位同学的总分&#xff1a…

2、单片机及开发板介绍

单片机介绍 单片机&#xff0c;英文Micro Controller Unit,简称&#xff1a;MCU 内部集成&#xff1a;CPU、RAM(随机存储器)、ROM&#xff08;只读存储器&#xff09;、定时器、中断系统、通讯接口等 作用&#xff1a;信息采集&#xff08;传感器&#xff09;、处理&#xff0…

[autojs]利用console实现悬浮窗日志输出

"ui"; ui.layout(<vertical><button id"autoFloatWindow" text"开启悬浮窗" textSize"15sp" /><button id"autoService" text"开启无障碍服务" textSize"15sp" /><button id"…

聚水潭连接API,集成无代码开发,优化电商平台运营

聚水潭连接API&#xff0c;实现电商平台的高效运营 聚水潭作为一款SaaS ERP解决方案&#xff0c;通过其出色的产品和服务&#xff0c;迅速在市场上占据了一席之地。而其无代码开发的特点&#xff0c;为电商系统和客服系统的连接与集成提供了便利。聚水潭开放平台的优势在于&am…

[ChatGPT]ChatGPT免费,不用翻墙!?——你需要的装备

系列文章目录 【AIGC】服务于人类&#xff5c;一种新的人工智能技术-CSDN博客 文章目录 目录 系列文章目录 文章目录 前言 一、天意云网站 ​编辑 二、使用步骤 可以看到有云服务器、Rstudio以及我们的ChatGPT&#xff0c;我这次主要分享ChatGPT&#xff0c;其他的有机会我再给…

如何避免Steam搬砖项目中账号被盗

购买steam余额有风险吗&#xff1f;及N种被红锁的情况 相信最近很多人都已经听说过steam游戏搬砖这个项目&#xff0c;也叫CSGO游戏搬砖项目&#xff0c;还有人叫它&#xff1a;国外steam游戏汇率差项目&#xff0c;无论怎么称呼&#xff0c;都是同一个项目。 那么什么是stea…

【SpringMVC】 参数传递

一.项目目录 SpringBoot项目创建之后会生成很多目录 删除不需要的这四个文件/目录 目录 二.Spring MVC 和 MVC Spring MVC(Spring Web MVC) Spring Web MVC 是⼀个 Web 框架 MVC : Model View Controller 它是一种思想 , 它把一个项目分成了三个部分. View视图层 界面显示…

HOOPS Web平台助力开发3D应用,实现超大规模3D web轻量化渲染与数据格式转换!

一、包含的软件开发工具包 HOOPS Web平台帮助开发人员构建基于Web的工程应用程序&#xff0c;提供高级3D Web可视化、准确快速的CAD数据访问和3D数据发布。 HOOPS Web平台包括三个集成软件开发工具包 (SDK)&#xff1a; &#xff08;1&#xff09;Web端3D可视化引擎 HOOPSCom…

labview 安捷伦 34970A 采集温度等

本文详细描述了怎么用安捷伦34970A采集温度&#xff0c;并列出了labview的下载链接&#xff0c;具有一定的参考价值。 1.必要条件&#xff1a; RS-232电缆一根 IO Libraries Suite 软件 BenchLink Data Logger 软件 软件可以在http://www.keysight.com.cn下载 检查RS-232…

Hadoop学习总结(MapReduce的数据去重)

现在假设有两个数据文件 file1.txtfile2.txt2018-3-1 a 2018-3-2 b 2018-3-3 c 2018-3-4 d 2018-3-5 a 2018-3-6 b 2018-3-7 c 2018-3-3 c2018-3-1 b 2018-3-2 a 2018-3-3 b 2018-3-4 d 2018-3-5 a 2018-3-6 c 2018-3-7 d 2018-3-3 c 上述文件 file1.txt 本身包含重复数据&…