就是把一个数组中相同类别数据,组成新的数组

news2024/9/28 23:50:10

在这里插入图片描述
效果图如上,就是把一个数组中相同类别数据,组成新的数组,每个数组最后加一个空对象,对象对应的格式要做些许改变

分店 品牌 业绩(元) 订单个数 单值(元) {{item.shopname}} {{item.shopname}} {{item.shopname}} {{item.shopname}} {{item.shopname}}
  <view class="td" style="width: 55%;" wx:if="{{item.shopname == '国安居南山店'}}">{{item.brandname}}</view>
  <view class="td" style="width: 55%;color: orange;" wx:if="{{item.shopname == '国安居宝安店'}}">{{item.brandname}}</view>
  <view class="td" style="width: 55%;color: red;" wx:if="{{item.shopname == '国安居惠阳店'}}">{{item.brandname}}</view>
  <view class="td" style="width: 55%;color: green;" wx:if="{{item.shopname == '国安居惠城店'}}">{{item.brandname}}</view>
  <view class="td" style="width: 55%;color: rgb(233, 38, 145);" wx:if="{{item.shopname == '国安居龙岗店'}}">{{item.brandname}}</view>
  <view class="td" style="width: 55%;color: rgb(233, 38, 145);border-right: none;" wx:if="{{item.shopname == ''}}"></view>

 
  <view class="td" wx:if="{{item.tmoneys != 'a'}}">{{item.tmoneys}}</view>
  <view class="td" wx:else style="border-right: none;"></view>

  <view class="td" wx:if="{{item.tsnum != 'a'}}">{{item.tsnum}}</view>
  <view class="td" wx:else style="border-right: none;"></view>

  <view class="td" wx:if="{{item.tdanprice != 'a'}}">{{item.tdanprice}}</view>
  <view class="td" wx:else style="border-right: none;"></view>
</view>
合计 销售业绩: {{totalmoneys}} 订单个数: {{totalsnum}}

后台返回的数据结构是这样的,单这样的在这里插入图片描述
我们需要对数组进行改造,把店铺名字相同的放到同一个数组,然后在每个店铺后面push一个空对象,
改造完成的数组是这样的
在这里插入图片描述
/js代码
///核心代码
const curData = [
{userName: ‘123’},
{userName: ‘111’},
{userName: ‘334’},
{userName: ‘222’},
{userName: ‘123’},
{userName: ‘111’},
{userName: ‘123’}
];

let dataDeal = (data) => {
let listArr = [];
data.forEach(function(value,index){
let obj = [];
for(let i=0;i<listArr.length;i++){
// 对比相同的字段key,相同放入对应的数组
if(listArr[i][0].userName == value.userName){
listArr[i].push(value);
return;
}
}
// 第一次对比没有参照,放入参照
obj.push(value);
listArr.push(obj);

});
return listArr;

};

let resultDataDeal = dataDeal(curData);
console.log(‘resultDataDeal===’+JSON.stringify(resultDataDeal));

//具体代码
let dataDeal = (data) => {
let listArr = [];
data.forEach(function (value, index) {
let obj = [];
for (let i = 0; i < listArr.length; i++) {
// 对比相同的字段key,相同放入对应的数组
if (listArr[i][0].shopname == value.shopname) {
listArr[i].push(value);
return;
}
}
// 第一次对比没有参照,放入参照
obj.push(value);
listArr.push(obj);
});
return listArr;
};
let resultDataDeal = dataDeal(res.data.data.yejilist);
let obj = {}
for (let i = 0; i < resultDataDeal.length; i++) {
obj.brandid = ‘’
obj.brandname=‘’
obj.id = i+‘’
obj.shopid = ‘’
obj.shopname =‘’
obj.tdanprice = ‘a’ //这里赋值a是因为,金额可能为0 ,可能为负数,我判断金额不等于a,就可以取反
obj.tmoneys = ‘a’
obj.tsnum = ‘a’
resultDataDeal[i].push(obj)
}
that.setData({
dataList:resultDataDeal,
totalmoneys: res.data.data.totalmoneys,
totalsnum: res.data.data.totalsnum,
})

//css
page{
font-size: 28rpx;
color: #333;
}
.table {
border: 1rpx solid darkgray;
}
.tr {
display: flex;
width: 100%;
justify-content: center;
height: 60rpx;
line-height: 60rpx;
align-items: center;
border-bottom: 1rpx solid #ddd; /* 单元格下线框 */

}
.tr1 {
display: flex;
width: 100%;
justify-content: center;
height: 20rpx;
line-height: 20rpx;
align-items: center;
border-bottom: 1rpx solid #ddd; /* 单元格下线框 */

}
.td {
width:40%;
justify-content: center;
text-align: center;
font-size: 24rpx;
height: 60rpx;
line-height: 60rpx;
border-right: 1rpx solid #ddd;
}
.bg-w{
background: snow;
}
.bg-g{
background: #E6F3F9;
}
.bg-b{
background: #f1f1f1;
}
.bg-e{
background: #fff;
}
.th {
width: 40%;
justify-content: center;
background: #E1B368;
color: #fff;
display: flex;
height: 60rpx;
line-height: 60rpx;
align-items: center;
font-size: 26rpx;
}

.container {
display: flex;
position: fixed;
bottom: 0rpx;
left: 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《InnoDB引擎九》InnoDB关键特性-自适应哈希索引

InnoDB 关键特性 InnoDB存储引擎的关键特性包括&#xff1a; Insert Buffer (插入缓冲)Double Write (两次写)Adaptive Hash Index (自适应哈希索引)Async IO (异步IO)Flush Neighbor Page (刷新领接页) 这些特性为InnoDB存储引擎带来了更好的性能以及更高的可靠性。 自适应哈…

猿如意开发工具|emeditor

写在前面 昨天升了下系统&#xff0c;可以下载了&#xff0c;我就试了试 正文 在客户端里搜索我所需要的工具&#xff0c;就可以搜出来 这里我已经下好了&#xff0c;直接点开文件就好了 再点开文件 点击下一步&#xff0c;接下来还有几个步骤&#xff0c;都点下一步就可以了…

【HBuilder X】解决HBuilder X内置浏览器显示过大影响使用

1- 前言 不知道宝子们有没有遇到过这种情况&#xff0c;小媛发现自己的内置浏览器过大&#xff0c;很大&#xff0c;很丑&#xff0c;占了半个屏幕&#xff0c;像下图那样。 也试了几种方法&#xff0c;比如&#xff1a; 看自己的版本不是最新&#xff0c;或者和其他人的不一样…

嫁给程序员老公,我后悔了

01 在我还没长开的时候&#xff0c;就常听人说&#xff0c;有两种男人不能嫁&#xff1a;一种是兵哥哥&#xff0c;另一种是程序员。前者见不着&#xff0c;后者死的早。 一想到不等头发花白&#xff0c;就要踟蹰独行&#xff0c;我就害怕的厉害。所以&#xff0c;很长一段时…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java高校教室管理系统9y8cv

相信很多和我一样的同学&#xff0c;因为实习&#xff0c;因为考研和考公等等&#xff0c;来不及做毕业设计&#xff0c;双专业的话 到时肯定忙不过来。提前做好准备吧&#xff0c;能自己完成的尽量自己完成&#xff0c;尽量不要找别人。自己的毕业前的一次大作业。努力完成也有…

Java项目:ssm高校党员管理系统

作者主页&#xff1a;源码空间站2022 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 高校党员信息管理系统&#xff0c;分为普通用户和管理员两种角色。 普通用户登录后主要功能有&#xff1a; 我的中心:首页、个人资料、修改密…

广州蓝景分享—开发人员都知道的JavaScript技巧

JavaScript包含各种对典型编程思想有用的一些技巧&#xff0c;在实际开发中&#xff0c;我们通常希望减少代码行数&#xff1b;因此&#xff0c;今天这些技巧代码希望可以帮助到你。 现在我们就开始今天的内容吧。 1、与Javascript对象相关的 01)、对象解构 将对象的值解构为…

Vue2.0简讲!

Vue2.0简讲 Draven入门1.1、响应式渲染1.1.0、Vue创建1.1.1、指令(7)1.1.2、class与style绑定HTML Class对象语法数组语法绑定内联样式对象语法数组语法1.1.3、条件渲染v-if else-iftemplate v-if1.1.4、列表渲染v-forkey数组更新检测列表渲染Vue2列表渲染Vue3过滤应用(模糊查询…

机器学习与数据挖掘——前言

如果有兴趣了解更多相关内容&#xff0c;欢迎来我的个人网站看看&#xff1a;瞳孔空间 这是从老师的PPT里面提取出来的&#xff0c;知识点分布比较零散&#xff0c;可能他做PPT的时候也没想那么多。 一&#xff1a;机器学习 机器学习的定义&#xff1a;一个计算机程序被称为…

前端岗位初入职场后的最初一段时间需要做什么

文章题目有点长&#xff0c;叫 《前端岗位初入职场后的最初一段时间需要做什么》&#xff0c;说下写这篇文的初衷&#xff0c;在前端自学团里有很多刚毕业或者是刚从培训班出来的同学&#xff0c;在群里天天讨论着找工作和面试的事情&#xff0c;面试的题在很多app或者小程序可…

四、【React-Router6】高亮 NavLink

项目修改自 上一节 的 Demo 这里需要注意的变化 默认高亮样式类名如果依然是 active 则依然默认有效 6 里移除了 activeClassName &#xff0c;如果我的高亮样式类名是 peiqi&#xff0c;需要配置 className 为一个函数 函数接收两个参数 isActive&#xff1a;是否激活isPendi…

Arduino开发实例-DIY双向访客计数器和自动灯光控制

双向访客计数器和自动灯光控制 1、应用介绍 本应用将使用 Arduino 创建双向访客柜台和自动灯光控制系统。该应用基于一对 IR(红外)传感器,可在出现中断时检测障碍物。实际上,该系统可以检测来自两个方向的访客。从而对进入的访客数量和离开的访客数量进行计数。 该双向访…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java高校心理健康咨询平台vknhv

毕业设计其实不难&#xff0c;主要毕业的时候任务太紧了&#xff0c;所以大家都非常忙没有时间去做&#xff0c;毕业设计还是早做准备比较好&#xff0c;多花点时间也可以做出来的&#xff0c;建议还是自己动手去做&#xff0c;比如先选一个题&#xff0c;这样就有方向&#xf…

GIS工具maptalks开发手册(三)01——绘制工具

GIS工具maptalks开发手册(三)01——绘制工具 效果 代码 1、html官方版 <!DOCTYPE html> <html> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1"> <title>交互 - 绘制…

vite + vue3.0 + ts 项目搭建

Welcome to vue3-elementplus-admin &#x1f44b; vite vue3 Pinia elementUi-plus 无限级菜单 权限管理 后台模板 &#x1f3e0; Homepage Author &#x1f464; xuxuxu-ni Github: xuxuxu-niQQ: 595485548QQ群: 157216616email: 595485548qq.com Prerequisites node…

安卓使用动画启动Acitvity

1.检查系统版本 动画过渡Activity适用于*Android5.0&#xff08;API21&#xff09;*及以上&#xff0c;在代码增加中检查版本增强代码健壮性。 2.指定自定义过渡动画。 过渡可以在xml文件中指定&#xff0c;也可以直接在代码中指定。使用Window.requestFeature()声明启动窗口…

C语言:结构体

1、结构体&#xff1a; 定义&#xff1a;结构是一些值的集合&#xff0c;这些值称为成员变量。结构的每个成员可以是不同类型的变量 结构的声明&#xff1a; struct tag {member-list;}variable-list;举例&#xff1a;声明一个学生类型&#xff0c;想通过学生类型来创建学生变…

【Matplotlib绘制图像大全】(二十七):Matplotlib将数组array保存为图像

前言 大家好,我是阿光。 本专栏整理了《Matplotlib绘制图像大全》,内包含了各种常见的绘图方法,以及Matplotlib各种内置函数的使用方法,帮助我们快速便捷的绘制出数据图像。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmMatp…

SpringBoot+Vue实现前后端分离的大学生志愿者管理系统

文末获取源码 开发语言&#xff1a;Java 使用框架&#xff1a;spring boot 前端技术&#xff1a;JavaScript、Vue.js 、css3 开发工具&#xff1a;IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库&#xff1a;MySQL 5.7/8.0 数据库管理工具&#xff1a;phpstudy/Navicat JD…

【C++修炼之路】10. vector类

每一个不曾起舞的日子都是对生命的辜负 vector本节目标1. vector的介绍及使用1.1 vector的介绍1.2 vector的使用1.2.1 vector的定义&#xff08;构造函数&#xff09;1.2.2 vector iterator的使用1.2.3 vector的空间增长问题1.2.4 vector增删查改2. vector的模拟实现2.1 构造函…