数据解构

1.将后台返回的两个数组(两个数组的长度相等),对应项依次相加

业务场景:

‘充值金额’  字段 后台没有返回,需要我们前端,将另外返回的数组对应项依次相加!

/**
 * @rechargeAmount {Array}
 * 用于处理 rechargeAmount 求和
 * rechargeAmount 充值金额 = lockRechargeTotal 被锁定的金币充值金额 + unlockRechargeTotal 未锁定的金币充值金额
 *
 */
var rechargeAmount = [];
			for (var i = 0; i < data.dates.length; i++) {
				if (data.lockRechargeTotal[i] === null || data.unlockRechargeTotal[i] === null) {
					data.lockRechargeTotal[i] = 0;
					data.unlockRechargeTotal[i] = 0;
				}
				data.lockRechargeTotal[i] = parseFloat(data.lockRechargeTotal[i]);
				data.unlockRechargeTotal[i] = parseFloat(data.unlockRechargeTotal[i]);
				rechargeAmount[i] = data.unlockRechargeTotal[i] + data.lockRechargeTotal[i];
			}

2.将后台返回的不同的数组,变成平时渲染成表格的数据解构。

<1>tablist期望的数据解构:

特点:campaignInfo是一个后台返回的数组,我们根据此数组进行表格list的渲染,有两个特点:

<1--  数组的 length 等于表格的行数,也就是几条数据

<2--- 数组的每一项是一个对象,对象是无序属性的集合,每个对象里面的属性的个数 等于 表格的列数

{
	"data":{
		"total":6,
		"campaignInfo":[
			{
				"actionTime":"2018-09-04 09:29:11",
				"adsenseCount":1,
				"campaignStatus":1,
				"campaignTitle":"1",
				"endTime":"2018-11-01 00:00:00",
				"id":25,
				"isPutOn":0,
				"startTime":"2018-10-01 09:29:11"
			},
			{
				"actionTime":"2018-08-01 15:00:38",
				"adsenseCount":0,
				"campaignStatus":2,
				"campaignTitle":"搞基了",
				"endTime":"2018-10-08 00:00:00",
				"id":24,
				"isPutOn":0,
				"startTime":"2018-10-01 00:00:00"
			},
			{
				"actionTime":"2018-08-31 14:14:34",
				"adsenseCount":2,
				"campaignStatus":2,
				"campaignTitle":"测试",
				"endTime":"2018-09-15 00:00:00",
				"id":23,
				"isPutOn":0,
				"startTime":"2018-07-31 00:00:00"
			},
			{
				"actionTime":"2018-09-07 00:00:00",
				"adsenseCount":14,
				"campaignStatus":2,
				"campaignTitle":"910活动",
				"endTime":"2018-09-23 00:00:00",
				"id":22,
				"isPutOn":0,
				"startTime":"2018-09-05 00:00:00"
			},
			{
				"actionTime":"2018-05-20 00:00:00",
				"adsenseCount":0,
				"campaignStatus":2,
				"campaignTitle":"520活动",
				"endTime":"2018-09-23 00:00:00",
				"id":21,
				"isPutOn":0,
				"startTime":"2018-05-20 00:00:00"
			},
			{
				"actionTime":"2018-04-23 00:00:00",
				"adsenseCount":0,
				"campaignStatus":2,
				"campaignTitle":"423活动",
				"endTime":"2018-04-23 23:59:59",
				"id":20,
				"isPutOn":0,
				"startTime":"2018-04-23 00:00:00"
			}
		]
	},
	"errorMessage":"",
	"errorCode":""
}

<2>后台给我们的数据解构:

{
	"data":{
		"customerNumber":3,
		"customerNumberTotal":86,
		"customers":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0],
		"dates":["2018-09-16","2018-09-17","2018-09-18","2018-09-19","2018-09-20","2018-09-21","2018-09-22","2018-09-23","2018-09-24","2018-09-25","2018-09-26","2018-09-27","2018-09-28","2018-09-29","2018-09-30","2018-10-01","2018-10-02","2018-10-03","2018-10-04","2018-10-05","2018-10-06","2018-10-07","2018-10-08","2018-10-09","2018-10-10","2018-10-11","2018-10-12","2018-10-13","2018-10-14","2018-10-15","2018-10-16","2018-10-17"],
		"lockRechargeNumber":"2002.80",
		"lockRechargeTotal":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","6.80","0","0","0","1996.00","0","0","0","0","0"],
		"officialNumber":0,
		"rechargeTimes":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,0,0],
		"rechargeTotalPayment":"20994.97",
		"registerCommunityCustomer":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0,2,0,0,0],
		"registerCustomerAmount":["0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.01","0.00","0.10","0.00","398.04","0.00","0.00","0.00"],
		"registerCustomerMonthAmount":["0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","45.00","45.10","0.00","0.00","0.00","0.00","0.00"],
		"registerCustomerMonthTimes":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,0],
		"registerCustomerTimes":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,2,0,0,0],
		"registerMemberTotalPayment":"",
		"registerMonthAmount":"90.10",
		"registerMonthNumber":3,
		"registerYearAmount":"398.15",
		"registerYearNumber":4,
		"renewCommunityCustomer":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,1,2,0,0,0],
		"renewCustomerAmount":["0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.10","418.10","0.00","0.00","0.00"],
		"renewCustomerMonthAmount":["0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","0.00","45.00","45.10","0.00","0.00","0.00","0.00","0.00"],
		"renewCustomerMonthTimes":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,0],
		"renewCustomerTimes":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0],
		"renewMonthAmount":"90.10",
		"renewMonthNumber":3,
		"renewTimes":null,
		"renewTimesTotal":0,
		"renewTotalPayment":"",
		"renewYearAmount":"418.20",
		"renewYearNumber":3,
		"renewYears":null,
		"renewYearsTotal":0,
		"timeNumber":6,
		"totalOfficialNumber":0,
		"totalRegisterAmount":48825,
		"totalRegisterCommunityCustomer":7,
		"totalRenewAmount":50830,
		"totalRenewCommunityCustomer":6,
		"trialNumber":0,
		"unlockRechargeNumber":"2994.00",
		"unlockRechargeTotal":["0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","2994.00","0","0","0","0","0"]
	},
	"errorMessage":"",
	"errorCode":""
}

处理逻辑:

----   声明一个数组

----   遍历数组,把数组的每一项都变成一个对象

----   为对象添加新属性,对应tab列

//tablist
		
        var list = [];
		
		for (var i = 0; i < data.dates.length; i++) {
			var k = data.dates.length - i - 1;//倒序
			list[k] = {};//将数组的每一项都变成一个对象
			list[k].dates = response.data.data.dates[i];//对象添加属性
				                    
            list[k].officialCommunityCustomer=response.data.data.rechargeTimes[i];
			list[k].trialCommunityCustomer = response.data.data.rechargeTimes[i];
				list[k].renewTimes = response.data.data.rechargeTimes[i];
				list[k].renewYears = response.data.data.rechargeTimes[i];
			}

		context.list = list;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值