就是把一个数组中相同类别数据,组成新的数组
创始人
2024-03-13 15:28:03
0

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

分店 品牌 业绩(元) 订单个数 单值(元) {{item.shopname}} {{item.shopname}} {{item.shopname}} {{item.shopname}} {{item.shopname}}
  {item.shopname == '国安居南山店'}}">{{item.brandname}}{item.shopname == '国安居宝安店'}}">{{item.brandname}}{item.shopname == '国安居惠阳店'}}">{{item.brandname}}{item.shopname == '国安居惠城店'}}">{{item.brandname}}{item.shopname == '国安居龙岗店'}}">{{item.brandname}}{item.shopname == ''}}">{item.tmoneys != 'a'}}">{{item.tmoneys}}{item.tsnum != 'a'}}">{{item.tsnum}}{item.tdanprice != 'a'}}">{{item.tdanprice}}

合计 销售业绩: {{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
// 对比相同的字段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;
}

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...