js中两个for循环怎么传值?

baidu_27434251 baidu_27434251 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
var data;
var data1;
for(var k=0;k<jsons.length;k++){//获取所有返回数据
for(var l=0;l<jsons[k].projects.length;l++){//获取项目
for(var m=0;m<jsons[k].projects[l].propertys.length;m++){//获取项目对应的类型
str.push("<tr>");
str.push("<td rowspan='2' align='center'>"+jsons[k].projects[l].projectName+"</td>");
str.push("<td rowspan='2' align='center'>"+jsons[k].projects[l].propertys[m].propertyName+"</td>");
str.push("<td align='center'>计划</td>");
data = 0;
for(var n=0,len=jsons[k].projects[l].propertys[m].contents.length;n<len;n++){//获取类型对应的值
if(jsons[k].projects[l].propertys[m].contents[n].year==years[j]
&& jsons[k].projects[l].propertys[m].contents[n].parentArea==areas[i].areaId){
data += parseFloat(jsons[k].projects[l].propertys[m].contents[n].content);
}
}
str.push("<td rowspan='2' align='center'>"+data.toFixed(2)+"</td>");//将被选中的地区总值插入

for(var e=0;e<jsons[0].areaNames.length;e++){
if(areas[i].areaId == jsons[0].areaNames[e].parentArea){
str.push("<td align='center'>");
str.push("<table>");
data1 =0;
for(var n=0;n<jsons[0].areaChildDetail.length;n++){
if(jsons[0].areaChildDetail[n].planYear == years[j] && jsons[0].areaNames[e].areaId == jsons[0].areaChildDetail[n].areaId && jsons[k].projects[l].projectName == jsons[0].areaChildDetail[n].projectName && jsons[k].projects[l].propertys[m].propertyName == jsons[0].areaChildDetail[n].propertyName && jsons[0].areaChildDetail[n].pArea==areas[i].areaId){
data1 += parseFloat(jsons[0].areaChildDetail[n].valueContent);
}
}
str.push("<tr>");
str.push("<td align='center'>"+data1.toFixed(2)+"</td>");
str.push("</tr>");
str.push("</table>");
str.push("</td>");
}
}
str.push("</tr>");

str.push("<tr>");
str.push("<td align='center'>占比</td>");
for(var e=0;e<jsons[0].areaNames.length;e++){
if(areas[i].areaId == jsons[0].areaNames[e].parentArea){
str.push("<td align='center'>");
str.push("<table>");
str.push("<tr>");
if(GetPercent(data1,data) >= 80){
str.push("<td style='color:green' align='center'>"+GetPercent(data1,data)+"%</td>");
}else if(GetPercent(data1,data) >= 60 && GetPercent(data1,data) < 80){
str.push("<td style='color:orange' align='center'>"+GetPercent(data1,data)+"%</td>");
}else{
str.push("<td style='color:red' align='center'>"+GetPercent(data1,data)+"%</td>");
}

str.push("</tr>");
str.push("</table>");
str.push("</td>");
}
}
str.push("</tr>");
}
}
}


在这个for循环中
for(var e=0;e<jsons[0].areaNames.length;e++){
if(areas[i].areaId == jsons[0].areaNames[e].parentArea){
str.push("<td align='center'>");
str.push("<table>");
data1 =0;
for(var n=0;n<jsons[0].areaChildDetail.length;n++){
if(jsons[0].areaChildDetail[n].planYear == years[j] && jsons[0].areaNames[e].areaId == jsons[0].areaChildDetail[n].areaId && jsons[k].projects[l].projectName == jsons[0].areaChildDetail[n].projectName && jsons[k].projects[l].propertys[m].propertyName == jsons[0].areaChildDetail[n].propertyName && jsons[0].areaChildDetail[n].pArea==areas[i].areaId){
data1 += parseFloat(jsons[0].areaChildDetail[n].valueContent);
}
}
str.push("<tr>");
str.push("<td align='center'>"+data1.toFixed(2)+"</td>");
str.push("</tr>");
str.push("</table>");
str.push("</td>");
}
}
我能得到data1的值,那我怎么在下面的一个for循环中获取到data1的值
for(var e=0;e<jsons[0].areaNames.length;e++){
if(areas[i].areaId == jsons[0].areaNames[e].parentArea){
str.push("<td align='center'>");
str.push("<table>");
str.push("<tr>");
if(GetPercent(data1,data) >= 80){
str.push("<td style='color:green' align='center'>"+GetPercent(data1,data)+"%</td>");
}else if(GetPercent(data1,data) >= 60 && GetPercent(data1,data) < 80){
str.push("<td style='color:orange' align='center'>"+GetPercent(data1,data)+"%</td>");
}else{
str.push("<td style='color:red' align='center'>"+GetPercent(data1,data)+"%</td>");
}

str.push("</tr>");
str.push("</table>");
str.push("</td>");
}
}
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
baidu_27434251
JavaScript 87,983 成员 224,681 内容