二维数组绘图时给没有的项补0

原始data格式:

data:{
	lstReceiveStakeNumber:[101,102,103,104,105,106,107],
	wz:{
		"碎石": [{
			name: 107,
			weight: 38.12
		}],
		"水泥":[{
			name: 102,
			weight: 15.97
		}]
	}
}


					var xValue = [],
   					yValue = [];
   					var materialnameData = Object.keys(data.wz); //获取站点列表
   					var weightData = Object.values(data.wz); //获取出入库数据
   					var RMS = [];
   					var xRMSData = [];
   					var yRMSData = new Array();
   					//先循环物资的value值
   					for (var m in weightData) { //3
   						var name = [];
   						//获取物资下面所有的桩号值
   						for (var n in weightData[m]) {
   							name.push(weightData[m][n].name);
   						}
  
						//内部循环桩号数组,若每个物资内部的长度小于桩号数组的长度,并且当前桩号没有在上面的桩号数组中,则用weight=0补齐数组
   						for (var l in data.lstReceiveStakeNumber) {
   							if (weightData[m].length < data.lstReceiveStakeNumber.length && name
   								.indexOf(data.lstReceiveStakeNumber[l]) == -1) {
   								weightData[m].push({
   									name: data.lstReceiveStakeNumber[l],
   									weight: 0
   								})
   							}
   						}
   
   					}
   					// 排序 桩号正序 
   					for (var w in weightData) {
   						weightData[w].sort(function(x, y) {
   							return x.name - y.name;
   						});
   					}
   
   					for (var c in weightData[0]) {
   						xRMSData.push(numChangeStake(weightData[0][c].name));
   					}
   					for (var d in weightData) {
   						yRMSData[d] = new Array();
   						for (var t in weightData[d]) {
   							yRMSData[d].push(weightData[d][t].weight);
   						}
   					}

调整后的data

xRMSData: [101,102,103,104,105,106,107]
yRMSData: [
			[0, 0, 0, 0, 0, 0, 38.12],
			[0, 15.97, 0, 0, 0, 0, 0]
		]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Swn_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值